diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86/cpu-features.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/x86/cpu-features.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/x86/cpu-features.c b/sysdeps/unix/sysv/linux/x86/cpu-features.c index 7c9df9b794..8566a265b8 100644 --- a/sysdeps/unix/sysv/linux/x86/cpu-features.c +++ b/sysdeps/unix/sysv/linux/x86/cpu-features.c @@ -17,9 +17,17 @@ <http://www.gnu.org/licenses/>. */ #if CET_ENABLED +# include <sys/prctl.h> +# include <asm/prctl.h> + static inline int __attribute__ ((always_inline)) get_cet_status (void) { + unsigned long long cet_status[3]; + INTERNAL_SYSCALL_DECL (err); + if (INTERNAL_SYSCALL (arch_prctl, err, 2, ARCH_CET_STATUS, + cet_status) == 0) + return cet_status[0]; return 0; } |