diff options
author | Florian Weimer <fweimer@redhat.com> | 2017-06-09 13:21:43 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2017-06-09 13:21:43 +0200 |
commit | b8d2e394a2900cef5bbbe0503f15960f64a943b1 (patch) | |
tree | f06ad146a222f9db21064a1e0df02151e9a2780e | |
parent | 34b6f41c14d09fe627c6a6224880d76d0959079e (diff) | |
download | glibc-b8d2e394a2900cef5bbbe0503f15960f64a943b1.tar.gz glibc-b8d2e394a2900cef5bbbe0503f15960f64a943b1.tar.xz glibc-b8d2e394a2900cef5bbbe0503f15960f64a943b1.zip |
fork: Remove bogus parent PID assertions [BZ #21386]
(cherry picked from commit 1d2bc2eae969543b89850e35e532f3144122d80a)
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | sysdeps/nptl/fork.c | 8 |
3 files changed, 8 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index 290515a58e..d44aff0a36 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2017-05-12 Florian Weimer <fweimer@redhat.com> + + [BZ #21386] + * sysdeps/nptl/fork.c (__libc_fork): Remove assertions on the + parent PID. The assertion in the child is incorrect with PID + namespaces. + 2017-03-15 Joseph Myers <joseph@codesourcery.com> * sysdeps/x86/fpu/test-math-vector-sincos.h (INIT_VEC_PTRS_LOOP): diff --git a/NEWS b/NEWS index fee1cf8ca8..d52872323d 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,7 @@ The following bugs are resolved with this release: [21109] Tunables broken on big-endian [21115] sunrpc: Use-after-free in error path in clntudp_call [21289] Fix symbol redirect for fts_set + [21386] Assertion in fork for distinct parent PID is incorrect Version 2.25 diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c index db6d721fce..4bb87e2331 100644 --- a/sysdeps/nptl/fork.c +++ b/sysdeps/nptl/fork.c @@ -131,10 +131,6 @@ __libc_fork (void) call_function_static_weak (__malloc_fork_lock_parent); } -#ifndef NDEBUG - pid_t ppid = THREAD_GETMEM (THREAD_SELF, tid); -#endif - #ifdef ARCH_FORK pid = ARCH_FORK (); #else @@ -147,8 +143,6 @@ __libc_fork (void) { struct pthread *self = THREAD_SELF; - assert (THREAD_GETMEM (self, tid) != ppid); - /* See __pthread_once. */ if (__fork_generation_pointer != NULL) *__fork_generation_pointer += __PTHREAD_ONCE_FORK_GEN_INCR; @@ -230,8 +224,6 @@ __libc_fork (void) } else { - assert (THREAD_GETMEM (THREAD_SELF, tid) == ppid); - /* Release acquired locks in the multi-threaded case. */ if (multiple_threads) { |