[Bug 271490] Deadlock between _rtld_atfork_pre and _thr_attr_init

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 22 May 2023 13:47:15 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271490

--- Comment #16 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=6f49eafb056cfa0703dfc97a731cabe4ed2596b8

commit 6f49eafb056cfa0703dfc97a731cabe4ed2596b8
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2023-05-20 08:11:54 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2023-05-22 13:46:42 +0000

    libthr rtld locks: do not leak URWLOCK_READ_WAITERS into child

    Since there is only the current thread in the child, no pending readers
    exist.  Clear the bit, since it confuses future attempts to acquire
    write ownership of the rtld locks, due to URWLOCK_PREFER_READERS flag.

    To be future-proof, clear all state about pending writers and readers.

    PR:     271490
    Reported and tested by: KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D40178

 lib/libthr/thread/thr_fork.c    |  4 ++++
 lib/libthr/thread/thr_private.h |  2 ++
 lib/libthr/thread/thr_rtld.c    | 11 +++++++++++
 3 files changed, 17 insertions(+)

-- 
You are receiving this mail because:
You are the assignee for the bug.