x86/cet: Check feature_1 in TCB for active IBT and SHSTK
commitd360dcc001cb12504cd3e8dbddee20df6bebb0f8
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 29 Dec 2023 16:43:52 +0000 (29 08:43 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 1 Jan 2024 13:22:48 +0000 (1 05:22 -0800)
tree85424ab05ed848c3e004bb938e4e7820f9c77e1c
parent541641a3de8d89464151bd879552755e882c832e
x86/cet: Check feature_1 in TCB for active IBT and SHSTK

Initially, IBT and SHSTK are marked as active when CPU supports them
and CET are enabled in glibc.  They can be disabled early by tunables
before relocation.  Since after relocation, GLRO(dl_x86_cpu_features)
becomes read-only, we can't update GLRO(dl_x86_cpu_features) to mark
IBT and SHSTK as inactive.  Instead, check the feature_1 field in TCB
to decide if IBT and SHST are active.
sysdeps/x86/bits/platform/x86.h
sysdeps/x86/get-cpuid-feature-leaf.c
sysdeps/x86/sys/platform/x86.h