]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tools/power turbostat: Handle non-root legacy-uncore sysfs permissions
authorLen Brown <len.brown@intel.com>
Sat, 9 Aug 2025 20:31:31 +0000 (16:31 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Aug 2025 16:36:25 +0000 (18:36 +0200)
[ Upstream commit e60a13bcef206795d3ddf82f130fe8f570176d06 ]

/sys/devices/system/cpu/intel_uncore_frequency/package_X_die_Y/
may be readable by all, but
/sys/devices/system/cpu/intel_uncore_frequency/package_X_die_Y/current_freq_khz
may be readable only by root.

Non-root turbostat users see complaints in this scenario.

Fail probe of the interface if we can't read current_freq_khz.

Reported-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Original-patch-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/power/x86/turbostat/turbostat.c

index 444b6bfb4683f37d2894d00426c7339fe6bfb49d..3e97b69b1dfb85e2290f2e80ce93917cee47be99 100644 (file)
@@ -6690,7 +6690,8 @@ static void probe_intel_uncore_frequency_legacy(void)
                        sprintf(path_base, "/sys/devices/system/cpu/intel_uncore_frequency/package_%02d_die_%02d", i,
                                j);
 
-                       if (access(path_base, R_OK))
+                       sprintf(path, "%s/current_freq_khz", path_base);
+                       if (access(path, R_OK))
                                continue;
 
                        BIC_PRESENT(BIC_UNCORE_MHZ);