diff options
author | Torvald Riegel <triegel@redhat.com> | 2016-12-21 13:37:19 +0100 |
---|---|---|
committer | Torvald Riegel <triegel@redhat.com> | 2017-01-13 17:17:38 +0100 |
commit | 8e31cafb268938729a1314806a924d73fb1991c5 (patch) | |
tree | d58fa0d10a2a6eff2e8f3a5a775fa4fa1abdf271 /include/net | |
parent | 65810f0ef05e8c9e333f17a44e77808b163ca298 (diff) | |
download | glibc-8e31cafb268938729a1314806a924d73fb1991c5.zip glibc-8e31cafb268938729a1314806a924d73fb1991c5.tar.gz glibc-8e31cafb268938729a1314806a924d73fb1991c5.tar.bz2 |
Clear list of acquired robust mutexes in the child process after forking.
Robust mutexes acquired at the time of a call to fork() do not remain
acquired by the forked child process. We have to clear the list of
acquired robust mutexes before registering this list with the kernel;
otherwise, if some of the robust mutexes are process-shared, the parent
process can alter the child's robust mutex list, which can lead to
deadlocks or even modification of memory that may not be occupied by a
mutex anymore.
[BZ #19402]
* sysdeps/nptl/fork.c (__libc_fork): Clear list of acquired robust
mutexes.
Diffstat (limited to 'include/net')
0 files changed, 0 insertions, 0 deletions