Commit d34fe509 authored by Calvin Owens's avatar Calvin Owens Committed by Len Brown
Browse files

tools/power turbostat: Handle cap_get_proc() ENOSYS



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: default avatarCalvin Owens <calvin@wbinvd.org>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 6ea0ec1b
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -6574,8 +6574,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;