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-src
mailing list