tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: cloning device close race?
On Sun, Dec 18, 2011 at 11:59:35PM -0500, Christos Zoulas wrote:
> On Dec 18, 11:54pm, tls%panix.com@localhost (Thor Lancelot Simon) wrote:
> -- Subject: Re: cloning device close race?
>
> | > >I am guessing the problem also exists with other cloning
> | > >pseudodevices, not just the new /dev/random implementation.
> | >
> | > Does adding:
> | >
> | > vn_close(nd.ni_vp, flags, l->l_cred);
> | >
> | > just after fd_dupopen in vfs_syscalls.c help? This should be right since
> | > the open is not associated with that vnode anymore, right?
> |
> | How is this not always leaking? Why does the DIAGNOSTIC check not catch
> | it more often?
>
> Good question. I think that we just don't open and close cloners frequently
> enough.
Hm. No, that's not it. Looks like it's _not_ usually leaking. The kernel
with that change dies like this, I think it's on the first open of the
pseudodevice:
Configuring network interfaces: wm0panic: kernel diagnostic assertion
"(use & VC_MASK) > 1" failed: file "/Volumes/csfs/src/sys/kern/vfs_vnode.c",
line 598
cpu0: Begin traceback...
kern_assert() at netbsd:kern_assert+0x48
vrele() at netbsd:vrele+0xd4
vn_close() at netbsd:vn_close+0x42
sys_open() at netbsd:sys_open+0x1d3
syscall() at netbsd:syscall+0xac
cpu0: End traceback...
Thor
Home |
Main Index |
Thread Index |
Old Index