Date: Mon, 15 Jan 2001 17:53:13 -0800 (PST) From: Bosko Milekic <bmilekic@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern uipc_mbuf.c Message-ID: <200101160153.f0G1rDh51434@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
bmilekic 2001/01/15 17:53:13 PST
Modified files:
sys/kern uipc_mbuf.c
Log:
Add some KASSERTs valid if WITNESS is defined to verify that the mbuf
allocation routines are being called safely. Since we drop our relevant
mbuf mutex and acquire Giant before we call kmem_malloc(), we have
to make sure that this does not pave the way for a fatal lock order
reversal. Check that either Giant is already held (in which case it's safe
to grab it again and recurse on it) or, if Giant is not held, that no
other locks are held before we try to acquire Giant.
Similarily, add a KASSERT valid in the WITNESS case in m_reclaim() to
nail callers who end up in m_reclaim() and hold a lock.
Pointed out by: jhb
Revision Changes Path
1.62 +40 -5 src/sys/kern/uipc_mbuf.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101160153.f0G1rDh51434>
