From 1fabdb99084df004f7f4cdc7068d1be209a258be Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 18 Mar 2020 04:35:54 -0700 Subject: x86: Remove ARCH_CET_LEGACY_BITMAP [BZ #25397] Since legacy bitmap doesn't cover jitted code generated by legacy JIT engine, it isn't very useful. This patch removes ARCH_CET_LEGACY_BITMAP and treats indirect branch tracking similar to shadow stack by removing legacy bitmap support. Tested on CET Linux/x86-64 and non-CET Linux/x86-64. Reviewed-by: Carlos O'Donell --- sysdeps/unix/sysv/linux/x86/dl-cet.h | 20 -------------------- sysdeps/unix/sysv/linux/x86/include/asm/prctl.h | 5 ----- 2 files changed, 25 deletions(-) (limited to 'sysdeps/unix') diff --git a/sysdeps/unix/sysv/linux/x86/dl-cet.h b/sysdeps/unix/sysv/linux/x86/dl-cet.h index 9b2aaa2..ae97a43 100644 --- a/sysdeps/unix/sysv/linux/x86/dl-cet.h +++ b/sysdeps/unix/sysv/linux/x86/dl-cet.h @@ -19,26 +19,6 @@ #include static inline int __attribute__ ((always_inline)) -dl_cet_allocate_legacy_bitmap (unsigned long *legacy_bitmap) -{ - /* Allocate legacy bitmap. */ -#ifdef __LP64__ - return (int) INTERNAL_SYSCALL_CALL (arch_prctl, - ARCH_CET_LEGACY_BITMAP, legacy_bitmap); -#else - unsigned long long legacy_bitmap_u64[2]; - int res = INTERNAL_SYSCALL_CALL (arch_prctl, - ARCH_CET_LEGACY_BITMAP, legacy_bitmap_u64); - if (res == 0) - { - legacy_bitmap[0] = legacy_bitmap_u64[0]; - legacy_bitmap[1] = legacy_bitmap_u64[1]; - } - return res; -#endif -} - -static inline int __attribute__ ((always_inline)) dl_cet_disable_cet (unsigned int cet_feature) { return (int) INTERNAL_SYSCALL_CALL (arch_prctl, ARCH_CET_DISABLE, diff --git a/sysdeps/unix/sysv/linux/x86/include/asm/prctl.h b/sysdeps/unix/sysv/linux/x86/include/asm/prctl.h index f67f329..45ad0b0 100644 --- a/sysdeps/unix/sysv/linux/x86/include/asm/prctl.h +++ b/sysdeps/unix/sysv/linux/x86/include/asm/prctl.h @@ -24,9 +24,4 @@ OUT: allocated shadow stack address: *addr. */ # define ARCH_CET_ALLOC_SHSTK 0x3004 -/* Return legacy region bitmap info in unsigned long long *addr: - address: addr[0]. - size: addr[1]. - */ -# define ARCH_CET_LEGACY_BITMAP 0x3005 #endif /* ARCH_CET_STATUS */ -- cgit v1.1