diff options
author | Tony Luck <tony.luck@intel.com> | 2024-11-22 15:42:12 -0800 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2024-11-25 10:11:33 +0100 |
commit | d9bb40544653cf039fe79225ec1d742183e2339a (patch) | |
tree | b8d28541512d62cddbb354b7544fc01ff2ed5cc8 /drivers/cdx/controller/cdx_controller.c | |
parent | be4202228e685d580d75ac7597c0e7e50a63dd6c (diff) | |
download | linux-d9bb40544653cf039fe79225ec1d742183e2339a.tar.gz linux-d9bb40544653cf039fe79225ec1d742183e2339a.tar.bz2 linux-d9bb40544653cf039fe79225ec1d742183e2339a.zip |
x86/cpu: Fix PPIN initialization
On systems that enumerate PPIN (protected processor inventory
number) using CPUID, but where the BIOS locked the MSR to
prevent access /proc/cpuinfo reports "intel_ppin" feature as
present on all logical CPUs except for CPU 0.
This happens because ppin_init() uses x86_match_cpu() to
determine whether PPIN is supported. When called on CPU 0
the test for locked PPIN MSR results in:
clear_cpu_cap(c, info->feature);
This clears the X86 FEATURE bit in boot_cpu_data. When other
CPUs are brought online the x86_match_cpu() fails, and the
PPIN FEATURE bit remains set for those other CPUs.
Fix by using setup_clear_cpu_cap() instead of clear_cpu_cap()
which force clears the FEATURE bit for all CPUS.
Reported-by: Adeel Ashad <adeel.arshad@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20241122234212.27451-1-tony.luck@intel.com
Diffstat (limited to 'drivers/cdx/controller/cdx_controller.c')
0 files changed, 0 insertions, 0 deletions