Loading
!3695 x86: Add x86 related kabi reservations
Merge Pull Request from: @x56Jason
# Description
Some x86 data structures such as struct cpuinfo_x86, struct fpu, etc.
need to reserve kabi fields for later kabi compatibility.
Intel LAM (Linear Address Masking) added several fields in struct
mm_context_t, but it is disabled for now. It is possible there are
further code change in this data structure such as LAM KVM support.
So here we reserve KABI fields for mm_context_t. Meanwhile, the
'vdso_image' pointer in mm_context_t is also a field that possibly
have code change, but more related to kernel core itself. Out-of-tree
drivers usually don't rely on this field to work properly. So we also
mark this field KABI_EXCLUDE.
The field 'fpu' pointer in struct thread_struct is mostly the same
reason to KABI_EXCLUDE. Intel future AVX10 new features may have code
change in 'struct fpu', while out-of-tree drivers usually don't rely
on fpu internal states.
Recently we see a lot of CVEs which have code change in struct
cpuinfo_x86. So it is worth to reserve more fields/facilities in this
critical data structure.
These KABI reservations are also seen in RHEL-9.3 and SLES-15sp5.
# Issue
#I8SMQ1
# Test
- build and boot success
- Run x86 kernel self Test (make -C tools/testing/selftests TARGETS=x86 run_tests)
- All pass except LAM/Shadow-Stack which not enabled and also SKIPed on baseline
# Default Config Change
N/A
Link:https://gitee.com/openeuler/kernel/pulls/3695
Reviewed-by:
Zheng Zengkai <zhengzengkai@huawei.com>
Reviewed-by:
Jialin Zhang <zhangjialin11@huawei.com>
Signed-off-by:
Zheng Zengkai <zhengzengkai@huawei.com>