summaryrefslogtreecommitdiff
path: root/include/linux/power/smartreflex.h
diff options
context:
space:
mode:
authorReinette Chatre <reinette.chatre@intel.com>2018-12-11 01:31:13 +0300
committerBorislav Petkov <bp@suse.de>2018-12-12 00:09:28 +0300
commit52eb74339a6233c69f4e3794b69ea7c98eeeae1b (patch)
treec309a778e340dc47f89d7e9abee5f2932597a4cc /include/linux/power/smartreflex.h
parentcb74635faa17cfa2991ddbe027596270af525c6d (diff)
downloadlinux-52eb74339a6233c69f4e3794b69ea7c98eeeae1b.tar.xz
x86/resctrl: Fix rdt_find_domain() return value and checks
rdt_find_domain() returns an ERR_PTR() that is generated from a provided domain id when the value is negative. Care needs to be taken when creating an ERR_PTR() from this value because a subsequent check using IS_ERR() expects the error to be within the MAX_ERRNO range. Using an invalid domain id as an ERR_PTR() does work at this time since this is currently always -1. Using this undocumented assumption is fragile since future users of rdt_find_domain() may not be aware of thus assumption. Two related issues are addressed: - Ensure that rdt_find_domain() always returns a valid error value by forcing the error to be -ENODEV when a negative domain id is provided. - In a few instances the return value of rdt_find_domain() is just checked for NULL - fix these to include a check of ERR_PTR. Fixes: d89b7379015f ("x86/intel_rdt/cqm: Add mon_data") Fixes: 521348b011d6 ("x86/intel_rdt: Introduce utility to obtain CDP peer") Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: Borislav Petkov <bp@suse.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Tony Luck <tony.luck@intel.com> Cc: fenghua.yu@intel.com Cc: gavin.hindman@intel.com Cc: jithu.joseph@intel.com Cc: x86-ml <x86@kernel.org> Link: https://lkml.kernel.org/r/b88cd4ff6a75995bf8db9b0ea546908fe50f69f3.1544479852.git.reinette.chatre@intel.com
Diffstat (limited to 'include/linux/power/smartreflex.h')
0 files changed, 0 insertions, 0 deletions