mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
i386: Remove CET support
CET is only support for x86_64, this patch reverts: -faaee1f07e
x86: Support shadow stack pointer in setjmp/longjmp. -be9ccd27c0
i386: Add _CET_ENDBR to indirect jump targets in add_n.S/sub_n.S -c02695d776
x86/CET: Update vfork to prevent child return -5d844e1b72
i386: Enable CET support in ucontext functions -124bcde683
x86: Add _CET_ENDBR to functions in crti.S -562837c002
x86: Add _CET_ENDBR to functions in dl-tlsdesc.S -f753fa7dea
x86: Support IBT and SHSTK in Intel CET [BZ #21598] -825b58f3fb
i386-mcount.S: Add _CET_ENDBR to _mcount and __fentry__ -7e119cd582
i386: Use _CET_NOTRACK in i686/memcmp.S -177824e232
i386: Use _CET_NOTRACK in memcmp-sse4.S -0a899af097
i386: Use _CET_NOTRACK in memcpy-ssse3-rep.S -7fb613361c
i386: Use _CET_NOTRACK in memcpy-ssse3.S -77a8ae0948
i386: Use _CET_NOTRACK in memset-sse2-rep.S -00e7b76a8f
i386: Use _CET_NOTRACK in memset-sse2.S -90d15dc577
i386: Use _CET_NOTRACK in strcat-sse2.S -f1574581c7
i386: Use _CET_NOTRACK in strcpy-sse2.S -4031d7484a
i386/sub_n.S: Add a missing _CET_ENDBR to indirect jump - target - Checked on i686-linux-gnu.
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include <bits/errno.h>
|
||||
#include <tcb-offsets.h>
|
||||
|
||||
|
||||
/* Clone the calling process, but without copying the whole address space.
|
||||
The calling process is suspended until the new process exits or is
|
||||
replaced by a call to `execve'. Return -1 for errors, 0 to the new process,
|
||||
@@ -46,29 +47,6 @@ ENTRY (__vfork)
|
||||
/* Branch forward if it failed. */
|
||||
jae SYSCALL_ERROR_LABEL
|
||||
|
||||
#if SHSTK_ENABLED
|
||||
/* Check if shadow stack is in use. */
|
||||
xorl %edx, %edx
|
||||
rdsspd %edx
|
||||
testl %edx, %edx
|
||||
/* Normal return if shadow stack isn't in use. */
|
||||
je L(no_shstk)
|
||||
|
||||
testl %eax, %eax
|
||||
/* In parent, normal return. */
|
||||
jnz L(no_shstk)
|
||||
|
||||
/* NB: In child, jump back to caller via indirect branch without
|
||||
popping shadow stack which is shared with parent. Keep shadow
|
||||
stack mismatched so that child returns in the vfork-calling
|
||||
function will trigger SIGSEGV. */
|
||||
popl %ecx
|
||||
cfi_adjust_cfa_offset (-4)
|
||||
jmp *%ecx
|
||||
|
||||
L(no_shstk):
|
||||
#endif
|
||||
|
||||
ret
|
||||
|
||||
PSEUDO_END (__vfork)
|
||||
|
Reference in New Issue
Block a user