This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug dynamic-link/19282] New: dl_load_write_lock isn't reinitialised during fork
- From: "stephen.robinson at intel dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Mon, 23 Nov 2015 13:17:02 +0000
- Subject: [Bug dynamic-link/19282] New: dl_load_write_lock isn't reinitialised during fork
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=19282
Bug ID: 19282
Summary: dl_load_write_lock isn't reinitialised during fork
Product: glibc
Version: 2.22
Status: NEW
Severity: normal
Priority: P2
Component: dynamic-link
Assignee: unassigned at sourceware dot org
Reporter: stephen.robinson at intel dot com
Target Milestone: ---
While investigating bug 4578 I ran into a deadlock due to dl_load_write_lock
not being reinitialised for the child process during a fork.
If one thread calls dl_iterate_phdr() and then another thread calls fork() then
the child process ends up with a dl_load_write_lock that is already locked by
the thread that called dl_iterate_phdr().
The fork call already reinitialises dl_load_lock but reinitialisation of
dl_load_write_lock was not added to fork when that new lock was created.
I have created and attached a test case that recreates this and a patch to fix
it.
--
You are receiving this mail because:
You are on the CC list for the bug.