tools / cpupower: Correctly detect if running as root
authorMichal Privoznik <mprivozn@redhat.com>
Sun, 14 Dec 2014 12:36:52 +0000 (13:36 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 19 Dec 2014 22:01:03 +0000 (23:01 +0100)
Some operations, like frequency-set, need root privileges. However,
the way that this is detected is not correct. The getuid() is called,
while in fact geteuid() should be. This way we can allow
distributions or users to set SETUID flags on the cpupower binary if
they want to and let regular users change the cpu frequency governor.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Acked-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
tools/power/cpupower/utils/cpupower.c

index 7cdcf88..9ea9143 100644 (file)
@@ -199,7 +199,7 @@ int main(int argc, const char *argv[])
        }
 
        get_cpu_info(0, &cpupower_cpu_info);
-       run_as_root = !getuid();
+       run_as_root = !geteuid();
        if (run_as_root) {
                ret = uname(&uts);
                if (!ret && !strcmp(uts.machine, "x86_64") &&