]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tools/power turbostat: Handle cap_get_proc() ENOSYS
authorCalvin Owens <calvin@wbinvd.org>
Sat, 14 Jun 2025 02:20:28 +0000 (19:20 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Aug 2025 16:30:49 +0000 (18:30 +0200)
[ Upstream commit d34fe509f5f76d9dc36291242d67c6528027ebbd ]

Kernels configured with CONFIG_MULTIUSER=n have no cap_get_proc().
Check for ENOSYS to recognize this case, and continue on to
attempt to access the requested MSRs (such as temperature).

Signed-off-by: Calvin Owens <calvin@wbinvd.org>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/power/x86/turbostat/turbostat.c

index 9be6803ea10feeddfad314a91813249860bd076a..b663a76d31f1fab6c4cad4b49a2afdcebb0b3a8d 100644 (file)
@@ -6246,8 +6246,16 @@ int check_for_cap_sys_rawio(void)
        int ret = 0;
 
        caps = cap_get_proc();
-       if (caps == NULL)
+       if (caps == NULL) {
+               /*
+                * CONFIG_MULTIUSER=n kernels have no cap_get_proc()
+                * Allow them to continue and attempt to access MSRs
+                */
+               if (errno == ENOSYS)
+                       return 0;
+
                return 1;
+       }
 
        if (cap_get_flag(caps, CAP_SYS_RAWIO, CAP_EFFECTIVE, &cap_flag_value)) {
                ret = 1;