cvs commit: src/sys/dev/random randomdev.c

Robert Watson rwatson at FreeBSD.org
Thu Apr 15 11:55:13 PDT 2004


On Thu, 15 Apr 2004, John Baldwin wrote:

> On Thursday 15 April 2004 03:32 am, Mike Silbersack wrote:
> > On Tue, 13 Apr 2004, John Baldwin wrote:
> > > You should drop the lock before uiomove().  If the uio can possibly
> > > reference user memory, then uiomove() will do a copyout() which can fault
> > > and thus sleep if the page is in swap.
> > >
> > > --
> > > John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
> >
> > I'm going to have a similar problem in sendfile when I try to de-giantify
> > it, and I'm sure read / write will have issues as well... will WITNESS
> > catch this potential problem?
> 
> Not currently.  One could add a WITNESS_WARN() check to uiomove() fairly
> easily though to force witness to catch this. 

We also need to generate sleep warnings it M_TRYWAIT is passed to the mbuf
allocator, which I believe we currently don't do.  Also, did we ever
re-add the sleep warning to the process tracing code?

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org      Senior Research Scientist, McAfee Research




More information about the cvs-src mailing list