diff options
Diffstat (limited to 'meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch')
-rw-r--r-- | meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch b/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch new file mode 100644 index 0000000000..eca1193dd3 --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch | |||
@@ -0,0 +1,40 @@ | |||
1 | From 847d37d5a34e4bf294de4ba98de3668950e28bc7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sat, 27 Jan 2018 10:05:07 -0800 | ||
4 | Subject: [PATCH 26/27] reset dl_load_write_lock after forking | ||
5 | |||
6 | The patch in this Bugzilla entry was requested by a customer: | ||
7 | |||
8 | https://www.sourceware.org/bugzilla/show_bug.cgi?id=19282 | ||
9 | |||
10 | The __libc_fork() code reset dl_load_lock, but it also needed to reset | ||
11 | dl_load_write_lock. The patch has not yet been integrated upstream. | ||
12 | |||
13 | Upstream-Status: Pending [ No Author See bugzilla] | ||
14 | |||
15 | Signed-off-by: Damodar Sonone <damodar.sonone@kpit.com> | ||
16 | Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com> | ||
17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
18 | --- | ||
19 | sysdeps/nptl/fork.c | 4 ++-- | ||
20 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
21 | |||
22 | diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c | ||
23 | index 846fa49ef2..f87506f398 100644 | ||
24 | --- a/sysdeps/nptl/fork.c | ||
25 | +++ b/sysdeps/nptl/fork.c | ||
26 | @@ -194,9 +194,9 @@ __libc_fork (void) | ||
27 | _IO_list_resetlock (); | ||
28 | } | ||
29 | |||
30 | - /* Reset the lock the dynamic loader uses to protect its data. */ | ||
31 | + /* Reset the locks the dynamic loader uses to protect its data. */ | ||
32 | __rtld_lock_initialize (GL(dl_load_lock)); | ||
33 | - | ||
34 | + __rtld_lock_initialize (GL(dl_load_write_lock)); | ||
35 | /* Run the handlers registered for the child. */ | ||
36 | while (allp != NULL) | ||
37 | { | ||
38 | -- | ||
39 | 2.16.1 | ||
40 | |||