mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-03 04:01:43 +08:00
x86: Copy IBT and SHSTK usable only if CET is enabled
IBT and SHSTK usable bits are copied from CPUID feature bits and later cleared if kernel doesn't support CET. Copy IBT and SHSTK usable only if CET is enabled so that they aren't set on CET capable processors with non-CET enabled glibc.
This commit is contained in:
parent
a775a7a3eb
commit
ea26ff0322
@ -76,7 +76,6 @@ update_usable (struct cpu_features *cpu_features)
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, PREFETCHWT1);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, OSPKE);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, WAITPKG);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, SHSTK);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, GFNI);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, RDPID);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, RDRAND);
|
||||
@ -86,7 +85,6 @@ update_usable (struct cpu_features *cpu_features)
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, FSRM);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, SERIALIZE);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, TSXLDTRK);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, IBT);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, LAHF64_SAHF64);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, LZCNT);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, SSE4A);
|
||||
@ -99,6 +97,11 @@ update_usable (struct cpu_features *cpu_features)
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, FSRCS);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, PTWRITE);
|
||||
|
||||
#if CET_ENABLED
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, IBT);
|
||||
CPU_FEATURE_SET_USABLE (cpu_features, SHSTK);
|
||||
#endif
|
||||
|
||||
/* Can we call xgetbv? */
|
||||
if (CPU_FEATURES_CPU_P (cpu_features, OSXSAVE))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user