Apparently, On Sun, Mar 17, 2002 at 09:17:22AM -0800,
Alfred Perlstein said words to the effect of;
> * Robert Watson <[EMAIL PROTECTED]> [020317 09:08] wrote:
> > On Sun, 17 Mar 2002, Alfred Perlstein wrote:
> > > * Munehiro Matsuda <[EMAIL PROTECTED]> [020317 06:36] wrote:
> > > >
> > > > PS. I got another message that happend when I ^C'ed a buildworld earlier,
> > > > with same kernel. May be it should go to Alfred Perlstein?
> > > >
> > > > lock order reversal
> > > > 1st 0xc198eec0 pipe mutex @ ../../../kern/sys_pipe.c:779
> > > > 2nd 0xc0367fe0 Giant @ ../../../i386/i386/trap.c:716
> > >
> > > I think there's a place where the pipe can fault on an address while
> > > copying, I'll take a look at this.
> > Are there any assertions that should be in place for copyin/copyout
> > requring fault handling? It sounds like somewhere we need to assert that
> > Giant is held...
> No, you need to assert that no other mutex other than Giant is held.
> It would be nice... :)
You can do this like at the bottom of syscall and trap, with witness_list().
It'll even print out what the other locks are and where they were acquired.
But yeah, if you're going to access pageable memory in kernel mode you pretty
much have to have no other locks held.
Good work on pipe locking btw.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message