[PATCH] tools/power turbostat: Fix MSRs with CONFIG_MULTIUSER=n

From: Calvin Owens
Date: Fri Jun 13 2025 - 22:20:46 EST


Handle ENOSYS from cap_get_proc() in check_for_cap_sys_rawio(), so
turbostat can display temperatures when running on kernels compiled
without multiuser support.

Signed-off-by: Calvin Owens <calvin@xxxxxxxxxx>
---
tools/power/x86/turbostat/turbostat.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
index 925556b90770..f7d665913a52 100644
--- a/tools/power/x86/turbostat/turbostat.c
+++ b/tools/power/x86/turbostat/turbostat.c
@@ -6496,8 +6496,13 @@ int check_for_cap_sys_rawio(void)
int ret = 0;

caps = cap_get_proc();
- if (caps == NULL)
+ if (caps == NULL) {
+ /* Support CONFIG_MULTIUSER=n */
+ if (errno == ENOSYS)
+ return 0;
+
return 1;
+ }

if (cap_get_flag(caps, CAP_SYS_RAWIO, CAP_EFFECTIVE, &cap_flag_value)) {
ret = 1;
--
2.47.2