glibc/sysdeps/unix/sysv/linux/x86_64
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
..
64 Add the statx function 2018-07-10 16:14:45 +02:00
x32 Add the statx function 2018-07-10 16:14:45 +02:00
____longjmp_chk.S x86_64: Undef SHADOW_STACK_POINTER_OFFSET last 2018-07-15 08:48:54 -07:00
__start_context.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
brk.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
cancellation.S nptl: Remove __ASSUME_PRIVATE_FUTEX 2018-05-17 04:25:10 -07:00
clone.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
compat-timer.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
configure Move architecture cases out of sysdeps/unix/sysv/linux/configure.ac. 2014-06-24 20:53:03 +00:00
configure.ac Move architecture cases out of sysdeps/unix/sysv/linux/configure.ac. 2014-06-24 20:53:03 +00:00
dl-cache.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-procinfo.c Add _dl_x86_cpu_features to rtld_global 2015-08-13 03:41:22 -07:00
dl-procinfo.h x86: Set dl_platform and dl_hwcap from CPU features [BZ #21391] 2017-05-03 13:44:35 -07:00
get_clockfreq.c
getcontext.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Implies NPTL is no longer an add-on! 2014-07-07 09:29:06 -07:00
init-first.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ipc_priv.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
kernel_stat.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
kernel-features.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ldconfig.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ldd-rewrite.sed
libc-cancellation.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libc-lowlevellock.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libmvec.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
librt-cancellation.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lll_timedlock_wait.c Split timed-wait functions out of nptl/lowlevellock.c. 2015-05-26 14:49:13 -07:00
lll_timedwait_tid.c Split timed-wait functions out of nptl/lowlevellock.c. 2015-05-26 14:49:13 -07:00
lowlevellock.h Define GEN_AS_CONST_HEADERS when generating header files [BZ #22792] 2018-02-23 11:29:39 -08:00
lowlevellock.S nptl: Remove __ASSUME_PRIVATE_FUTEX 2018-05-17 04:25:10 -07:00
makecontext.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Makefile Add x86 32 bit vDSO time function support 2015-01-12 16:03:58 -02:00
profil-counter.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pthread_setaffinity.c Move remaining nptl/sysdeps/unix/sysv/linux/x86_64/ files. 2014-05-14 12:33:43 -07:00
readelflib.c
register-dump.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sched_setaffinity.c
setcontext.S x86-64/setcontext: Pop the pointer into %rdx after syscall 2018-05-02 06:21:24 -07:00
sigaction.c linux: Consolidate sigaction implementation 2018-04-05 17:09:50 -03:00
sigaltstack-offsets.sym
sigcontextinfo.h Remove unused frame.h header, sigcontextinfo.h macros. 2018-03-22 16:40:51 +00:00
sigprocmask.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
swapcontext.S x86-64/swapcontext: Restore the pointer into %rdx after syscall 2018-05-02 06:26:19 -07:00
syscall.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
syscalls.list Remove p{read,write}{v} and fallocate from x86 auto-generation list 2017-08-22 17:27:18 -03:00
sysdep.h x86_64: Fix build with RTLD_PRIVATE_ERRNO defined to 1 2018-03-18 02:11:56 +01:00
sysdep.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
timer_create.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
timer_delete.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
timer_getoverr.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
timer_gettime.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
timer_settime.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ucontext_i.sym
Versions Revert {send,sendm,recv,recvm}msg conformance changes 2016-06-10 11:58:16 -03:00
vfork.S x86: Update vfork to pop shadow stack 2018-07-24 05:21:07 -07:00