commit:     6002612f230d2b8d88fefba6c6477a20e77efc23
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Mon Mar  7 01:03:46 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Mon Mar  7 01:03:46 2022 +0000
URL:        
https://gitweb.gentoo.org/proj/toolchain/glibc-patches.git/commit/?id=6002612f

Additional fixup for the glibc/firefox/seccomp interaction

Bug: https://bugs.gentoo.org/828070
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>

 ...0302-Drop-glibc-lock-when-returning-early.patch | 36 ++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/9999/0302-Drop-glibc-lock-when-returning-early.patch 
b/9999/0302-Drop-glibc-lock-when-returning-early.patch
new file mode 100644
index 0000000..4eab4ea
--- /dev/null
+++ b/9999/0302-Drop-glibc-lock-when-returning-early.patch
@@ -0,0 +1,36 @@
+From fd939e8740a97b3ffc5816cebb7be947c7b560af Mon Sep 17 00:00:00 2001
+From: Sam James <s...@gentoo.org>
+Date: Mon, 7 Mar 2022 01:59:53 +0100
+Subject: [PATCH] Drop glibc lock when returning early
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes 1bcdcd4fec9bfe2f1d3fef67a43825903f6a5f2b
+
+Bug: https://bugs.gentoo.org/828070
+Signed-off-by: Andreas K. Hüttel <dilfri...@gentoo.org>
+(cherry picked from commit 81f6a812264e375a695e5b00e2906da8102cc9b6)
+---
+ nss/nss_database.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/nss/nss_database.c b/nss/nss_database.c
+index 133682b858..5f58baf34b 100644
+--- a/nss/nss_database.c
++++ b/nss/nss_database.c
+@@ -424,8 +424,10 @@ nss_database_check_reload_and_get (struct 
nss_database_state *local,
+      errors here are very unlikely, but the chance that we're entering
+      a container is also very unlikely, so we err on the side of both
+      very unlikely things not happening at the same time.  */
+-  if (__stat64_time64 ("/", &str) != 0)
++  if (__stat64_time64 ("/", &str) != 0) {
++    __libc_lock_unlock (local->lock);
+     return false;
++  }
+ 
+   if (local->root_ino != 0 && (str.st_ino != local->root_ino
+                               || str.st_dev != local->root_dev))
+-- 
+2.34.1
+

Reply via email to