From a41c8e92350e744a4bc639df5025153d05263e7f Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 9 Dec 2021 09:49:32 +0100 Subject: nptl: rseq failure after registration on main thread is fatal This simplifies the application programming model. Browser sandboxes have already been fixed: Sandbox is incompatible with rseq registration Allow rseq in the Linux sandboxes. r=gcp Sandbox needs to support rseq system call Linux sandbox: Allow rseq(2) Reviewed-by: Szabolcs Nagy --- nptl/pthread_create.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'nptl/pthread_create.c') diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 4608fd9..c097fc5 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -370,7 +370,8 @@ start_thread (void *arg) /* Register rseq TLS to the kernel. */ { bool do_rseq = THREAD_GETMEM (pd, flags) & ATTR_FLAG_DO_RSEQ; - rseq_register_current_thread (pd, do_rseq); + if (!rseq_register_current_thread (pd, do_rseq) && do_rseq) + __libc_fatal ("Fatal glibc error: rseq registration failed\n"); } #ifndef __ASSUME_SET_ROBUST_LIST -- cgit v1.1