diff options
author | 2009-12-15 16:20:07 +0000 | |
---|---|---|
committer | 2009-12-15 16:20:07 +0000 | |
commit | eca38f4b13ec76ea4999d82e6e00cf4947a873d0 (patch) | |
tree | 8fb3739ebdefcf9e198b7f609f5f90bc99062179 /lib/libc | |
parent | Make sillyrename not so damn silly. The kindergarten algorithm here for (diff) | |
download | wireguard-openbsd-eca38f4b13ec76ea4999d82e6e00cf4947a873d0.tar.xz wireguard-openbsd-eca38f4b13ec76ea4999d82e6e00cf4947a873d0.zip |
This fixes a case where we could panic on a null deref with a bad vnode
in nfs_inactive, on a reboot.
The core of the problem was in nfs_nget, when we lose the race to put a new
nfsnode in the tree, we have previously allocated a vnode, which getnewvnode
has done an insmntque into the nfs mp's mntlist. The problem being we then
try again with a new vnode, abandoning this one on the mntlist, leaving
junk there for us to die on when we unmount.
analysis and bogus fix by art@, correct fix by me. much painful testing by
krw@
ok oga@, art@
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions