glibc/sysdeps/unix/sysv/linux/i386
H.J. Lu 3650e1d928 x86: Update vfork to pop shadow stack
The shadow stack prevents us from pushing the saved return PC onto
the stack and returning normally.  Instead we pop the shadow stack
and return directly.  This is the safest way to return and ensures
any stack manipulations done by the vfork'd child doesn't cause the
parent to terminate when CET is enabled.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>

	* sysdeps/unix/sysv/linux/i386/vfork.S (SYSCALL_ERROR_HANDLER):
	Redefine if shadow stack is enabled.
	(SYSCALL_ERROR_LABEL): Likewise.
	(__vfork): Pop shadow stack and jump back to to caller directly
	when shadow stack is in use.
	* sysdeps/unix/sysv/linux/x86_64/vfork.S (SYSCALL_ERROR_HANDLER):
	Redefine if shadow stack is enabled.
	(SYSCALL_ERROR_LABEL): Likewise.
	(__vfork): Pop shadow stack and jump back to to caller directly
	when shadow stack is in use.
2018-07-24 05:21:07 -07:00
..
i686
i786
Implies
Makefile
Versions
____longjmp_chk.S x86: Support shadow stack pointer in setjmp/longjmp 2018-07-14 05:59:53 -07:00
_exit.S
brk.c
c++-types.data
clone.S
configure
configure.ac
dl-librecon.h
dl-procinfo.h
dl-sysdep.h
fxstat.c
fxstatat.c
get_clockfreq.c
getcontext.S
getmsg.c
gettimeofday.c
init-first.c
jmp_buf-macros.h
kernel-features.h Refactor Linux ARCH_FORK implementation 2018-03-07 17:39:40 -03:00
ld.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
ldconfig.h
libBrokenLocale.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libanl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libc-do-syscall.S
libc-lowlevellock.S
libc.abilist Add the statx function 2018-07-10 16:14:45 +02:00
libcrypt.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libdl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libm.abilist Add narrowing divide functions. 2018-05-17 00:40:52 +00:00
libnsl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libpthread.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libresolv.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
librt.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libthread_db.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libutil.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
lll_timedlock_wait.c
lll_timedwait_tid.c
localplt.data
lockf64.c
lowlevellock.S nptl: Remove __ASSUME_PRIVATE_FUTEX 2018-05-17 04:25:10 -07:00
lowlevellock.h
lxstat.c
makecontext.S
profil-counter.h
putmsg.c
readelflib.c
register-dump.h
setcontext.S
shlib-versions
sigaction.c linux: Consolidate sigaction implementation 2018-04-05 17:09:50 -03:00
sigcontextinfo.h Remove unused frame.h header, sigcontextinfo.h macros. 2018-03-22 16:40:51 +00:00
smp.h Avoid cancellable I/O primitives in ld.so. 2018-06-12 09:53:04 -04:00
startup.h
swapcontext.S
syscall.S
syscalls.list
sysdep.c
sysdep.h
time.c
tst-bz21269.c Linux i386: tst-bz21269 triggers SIGBUS on some kernels 2018-03-29 11:42:24 +02:00
ucontext_i.sym
vfork.S x86: Update vfork to pop shadow stack 2018-07-24 05:21:07 -07:00
xstat.c