diff options
author | 2024-11-22 15:42:12 -0800 | |
---|---|---|
committer | 2024-11-25 10:11:33 +0100 | |
commit | d9bb40544653cf039fe79225ec1d742183e2339a (patch) | |
tree | b8d28541512d62cddbb354b7544fc01ff2ed5cc8 /scripts/generate_rust_analyzer.py | |
parent | Merge tag 'x86_tdx_for_6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (diff) | |
download | wireguard-linux-d9bb40544653cf039fe79225ec1d742183e2339a.tar.xz wireguard-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 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions