diff options
| author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-07-18 01:15:17 +0200 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-07-18 01:15:17 +0200 |
| commit | 11634bd6682d5979fa10fdc01cd74577827377bd (patch) | |
| tree | 22e3a3e7439ba30b15498113d24017b89e58cd39 /tools | |
| parent | 1d9dbf154295aa33819b08340464ff15495e83d8 (diff) | |
| parent | 4cf465b579c20bee868464f5d664f8d2d96cd370 (diff) | |
| download | linux-11634bd6682d5979fa10fdc01cd74577827377bd.tar.gz linux-11634bd6682d5979fa10fdc01cd74577827377bd.zip | |
Merge branches 'acpi-scan' and 'acpi-video'
* acpi-scan:
ACPI / documentation: Remove reference to acpi_platform_device_ids from enumeration.txt
* acpi-video:
ACPI / video: Add use_native_backlight quirk for HP ProBook 4540s
Revert "ACPI / video: change acpi-video brightness_switch_enabled default to 0"
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/thermal/tmon/Makefile | 2 | ||||
| -rw-r--r-- | tools/thermal/tmon/tmon.c | 26 |
2 files changed, 26 insertions, 2 deletions
diff --git a/tools/thermal/tmon/Makefile b/tools/thermal/tmon/Makefile index 447321104ec0..e775adcbd29f 100644 --- a/tools/thermal/tmon/Makefile +++ b/tools/thermal/tmon/Makefile @@ -21,7 +21,7 @@ OBJS = tmon.o tui.o sysfs.o pid.o OBJS += tmon: $(OBJS) Makefile tmon.h - $(CC) ${CFLAGS} $(LDFLAGS) $(OBJS) -o $(TARGET) -lm -lpanel -lncursesw -lpthread + $(CC) ${CFLAGS} $(LDFLAGS) $(OBJS) -o $(TARGET) -lm -lpanel -lncursesw -ltinfo -lpthread valgrind: tmon sudo valgrind -v --track-origins=yes --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes ./$(TARGET) 1> /dev/null diff --git a/tools/thermal/tmon/tmon.c b/tools/thermal/tmon/tmon.c index b30f531173e4..09b7c3218334 100644 --- a/tools/thermal/tmon/tmon.c +++ b/tools/thermal/tmon/tmon.c @@ -142,6 +142,7 @@ static void start_syslog(void) static void prepare_logging(void) { int i; + struct stat logstat; if (!logging) return; @@ -152,6 +153,29 @@ static void prepare_logging(void) return; } + if (lstat(TMON_LOG_FILE, &logstat) < 0) { + syslog(LOG_ERR, "Unable to stat log file %s\n", TMON_LOG_FILE); + fclose(tmon_log); + tmon_log = NULL; + return; + } + + /* The log file must be a regular file owned by us */ + if (S_ISLNK(logstat.st_mode)) { + syslog(LOG_ERR, "Log file is a symlink. Will not log\n"); + fclose(tmon_log); + tmon_log = NULL; + return; + } + + if (logstat.st_uid != getuid()) { + syslog(LOG_ERR, "We don't own the log file. Not logging\n"); + fclose(tmon_log); + tmon_log = NULL; + return; + } + + fprintf(tmon_log, "#----------- THERMAL SYSTEM CONFIG -------------\n"); for (i = 0; i < ptdata.nr_tz_sensor; i++) { char binding_str[33]; /* size of long + 1 */ @@ -331,7 +355,7 @@ static void start_daemon_mode() disable_tui(); /* change the file mode mask */ - umask(0); + umask(S_IWGRP | S_IWOTH); /* new SID for the daemon process */ sid = setsid(); |
