From e83435778c4087a6119de650909db760385979ff7a4d75d48d9df11d7b5967db Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 17 Dec 2015 14:51:42 +0000 Subject: [PATCH] Accepting request 348825 from Base:System - reinitialize-dl_load_write_lock.patch: Reinitialize dl_load_write_lock on fork (BZ #19282) (forwarded request 348824 from Andreas_Schwab) OBS-URL: https://build.opensuse.org/request/show/348825 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=198 --- glibc-testsuite.changes | 6 ++++++ glibc-testsuite.spec | 3 +++ glibc-utils.changes | 6 ++++++ glibc-utils.spec | 3 +++ glibc.changes | 6 ++++++ glibc.spec | 3 +++ reinitialize-dl_load_write_lock.patch | 15 +++++++++++++++ 7 files changed, 42 insertions(+) create mode 100644 reinitialize-dl_load_write_lock.patch diff --git a/glibc-testsuite.changes b/glibc-testsuite.changes index c4173a6..24c79df 100644 --- a/glibc-testsuite.changes +++ b/glibc-testsuite.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Nov 26 14:46:21 UTC 2015 - schwab@suse.de + +- reinitialize-dl_load_write_lock.patch: Reinitialize dl_load_write_lock + on fork (BZ #19282) + ------------------------------------------------------------------- Wed Nov 18 15:09:30 UTC 2015 - schwab@suse.de diff --git a/glibc-testsuite.spec b/glibc-testsuite.spec index c0d1a04..c3537f8 100644 --- a/glibc-testsuite.spec +++ b/glibc-testsuite.spec @@ -270,6 +270,8 @@ Patch2011: iconv-reset-input-buffer.patch Patch2012: tzset-tzname.patch # PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257) Patch2013: resolv-mem-leak.patch +# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282) +Patch2014: reinitialize-dl_load_write_lock.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -488,6 +490,7 @@ rm nscd/s-stamp %patch2011 -p1 %patch2012 -p1 %patch2013 -p1 +%patch2014 -p1 %patch3000 diff --git a/glibc-utils.changes b/glibc-utils.changes index c4173a6..24c79df 100644 --- a/glibc-utils.changes +++ b/glibc-utils.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Nov 26 14:46:21 UTC 2015 - schwab@suse.de + +- reinitialize-dl_load_write_lock.patch: Reinitialize dl_load_write_lock + on fork (BZ #19282) + ------------------------------------------------------------------- Wed Nov 18 15:09:30 UTC 2015 - schwab@suse.de diff --git a/glibc-utils.spec b/glibc-utils.spec index 292fdc5..d052987 100644 --- a/glibc-utils.spec +++ b/glibc-utils.spec @@ -269,6 +269,8 @@ Patch2011: iconv-reset-input-buffer.patch Patch2012: tzset-tzname.patch # PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257) Patch2013: resolv-mem-leak.patch +# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282) +Patch2014: reinitialize-dl_load_write_lock.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -488,6 +490,7 @@ rm nscd/s-stamp %patch2011 -p1 %patch2012 -p1 %patch2013 -p1 +%patch2014 -p1 %patch3000 diff --git a/glibc.changes b/glibc.changes index c4173a6..24c79df 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Nov 26 14:46:21 UTC 2015 - schwab@suse.de + +- reinitialize-dl_load_write_lock.patch: Reinitialize dl_load_write_lock + on fork (BZ #19282) + ------------------------------------------------------------------- Wed Nov 18 15:09:30 UTC 2015 - schwab@suse.de diff --git a/glibc.spec b/glibc.spec index 710d8e8..b7213da 100644 --- a/glibc.spec +++ b/glibc.spec @@ -270,6 +270,8 @@ Patch2011: iconv-reset-input-buffer.patch Patch2012: tzset-tzname.patch # PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257) Patch2013: resolv-mem-leak.patch +# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282) +Patch2014: reinitialize-dl_load_write_lock.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -488,6 +490,7 @@ rm nscd/s-stamp %patch2011 -p1 %patch2012 -p1 %patch2013 -p1 +%patch2014 -p1 %patch3000 diff --git a/reinitialize-dl_load_write_lock.patch b/reinitialize-dl_load_write_lock.patch new file mode 100644 index 0000000..b224fbb --- /dev/null +++ b/reinitialize-dl_load_write_lock.patch @@ -0,0 +1,15 @@ +Index: glibc-2.22/sysdeps/nptl/fork.c +=================================================================== +--- glibc-2.22.orig/sysdeps/nptl/fork.c ++++ glibc-2.22/sysdeps/nptl/fork.c +@@ -174,8 +174,9 @@ __libc_fork (void) + /* Reset locks in the I/O code. */ + _IO_list_resetlock (); + +- /* Reset the lock the dynamic loader uses to protect its data. */ ++ /* Reset the locks the dynamic loader uses to protect its data. */ + __rtld_lock_initialize (GL(dl_load_lock)); ++ __rtld_lock_initialize (GL(dl_load_write_lock)); + + /* Run the handlers registered for the child. */ + while (allp != NULL)