cvs commit: src/sys/kern kern_sysctl.c

Nate Lawson nate at root.org
Mon Aug 8 20:02:23 GMT 2005


Don Lewis wrote:
> On  8 Aug, Christian S.J. Peron wrote: 
>>csjp        2005-08-08 18:54:35 UTC
>>
>>  FreeBSD src repository
>>
>>  Modified files:
>>    sys/kern             kern_sysctl.c 
>>  Log:
>>  Check to see if we wired the user-supplied buffers in SYSCTL_OUT, if
>>  the buffer has not been wired and we are holding any non-sleep-able locks,
>>  drop a witness warning. If the buffer has not been wired, it is possible
>>  that the writing of the data can sleep, especially if the page is not in
>>  memory. This can result in a number of different locking issues, including
>>  dead locks.
> 
> 
> Thanks.
> 
> I think SYSCTL_IN() should also check for locks.  We don't have a
> function to wire the buffer in this direction.
> 

One other thing:  I don't think this should be MFCd before 6.0.  It's 
possible that there are some drivers that violate this rule and having a 
release trigger panics is bad.  This is the same reason we turn off 
INVARIANTS for releases.

-- 
Nate


More information about the cvs-all mailing list