mutex Giant not owned at /usr/src/sys/kern/vfs_vnops.c:120
Gleb Smirnoff
glebius at freebsd.org
Mon Aug 30 02:57:33 PDT 2004
Robert, Bjoern,
On Mon, Aug 30, 2004 at 05:29:56AM +0000, Bjoern A. Zeeb wrote:
B> > Could you try the following patch:
B>
B> seems to work fine; my test program crashes somewhen later cause of
B> some pthread probelm but modules got loaded successfully w/o panic.
<skip>
B> > This causes Giant to be acquired in the event we enter the linker code
B> > (and hence VFS code) via netgraph ngc_send(). It should be safe in this
B> > context as we enter protocol send routines without mutexes held (i.e., why
B> > we're also able to do blocking memory allocation here.)
B>
B> please commit.
I think Giant should be acquired in linker_load_module(), and this way we will
prevent this panic in other codepaths. For example in vfs_mount.c, when
vfs will be Giant-free. Have I missed something?
--
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE
More information about the freebsd-current
mailing list