From: Florian Weimer Date: Fri, 12 May 2017 09:58:09 +0000 (+0200) Subject: fork: Remove bogus parent PID assertions [BZ #21386] X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0505a57d4381f2baaeed73e96b161d0fb313fa5c;p=thirdparty%2Fglibc.git fork: Remove bogus parent PID assertions [BZ #21386] (cherry picked from commit 1d2bc2eae969543b89850e35e532f3144122d80a) --- diff --git a/ChangeLog b/ChangeLog index 33d05e48789..3d4f5f83502 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2017-05-12 Florian Weimer + + [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-06-07 Arjun Shankar * sysdeps/unix/sysv/linux/tst-clone2.c: Do not diff --git a/NEWS b/NEWS index 71b41ea6255..82a718ff64a 100644 --- a/NEWS +++ b/NEWS @@ -24,6 +24,7 @@ Security related changes: The following bugs are resolved with this release: [21289] Fix symbol redirect for fts_set + [21386] Assertion in fork for distinct parent PID is incorrect Version 2.24 diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c index 02ff793ae74..a5d1e86d71d 100644 --- a/sysdeps/nptl/fork.c +++ b/sysdeps/nptl/fork.c @@ -131,10 +131,6 @@ __libc_fork (void) __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; @@ -222,8 +216,6 @@ __libc_fork (void) } else { - assert (THREAD_GETMEM (THREAD_SELF, tid) == ppid); - /* Release acquired locks in the multi-threaded case. */ if (multiple_threads) {