From d20db0561a6a36f914fde030512503b114ef9a0c Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Sat, 3 Aug 2024 06:28:41 +0000 Subject: automatic import of glibc --- ...ailure-after-registration-on-main-thread-.patch | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 rseq-nptl-rseq-failure-after-registration-on-main-thread-.patch (limited to 'rseq-nptl-rseq-failure-after-registration-on-main-thread-.patch') diff --git a/rseq-nptl-rseq-failure-after-registration-on-main-thread-.patch b/rseq-nptl-rseq-failure-after-registration-on-main-thread-.patch new file mode 100644 index 0000000..7fd271a --- /dev/null +++ b/rseq-nptl-rseq-failure-after-registration-on-main-thread-.patch @@ -0,0 +1,44 @@ +From 210967ce32172eb7356747ed0b655e1fc37d0c57 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Thu, 9 Dec 2021 09:49:32 +0100 +Subject: [PATCH 8/9] 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(-) + +diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c +index f405fa35..109c5e3d 100644 +--- a/nptl/pthread_create.c ++++ b/nptl/pthread_create.c +@@ -371,7 +371,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 +-- +2.23.0 + -- cgit v1.2.3