Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 08 Aug 2005 13:02:13 -0700
From:      Nate Lawson <nate@root.org>
To:        csjp@FreeBSD.org
Cc:        cvs-src@FreeBSD.org, Don Lewis <truckman@FreeBSD.org>, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern kern_sysctl.c
Message-ID:  <42F7BA45.4040700@root.org>
In-Reply-To: <200508081956.j78Jui1l095716@gw.catspoiler.org>
References:  <200508081956.j78Jui1l095716@gw.catspoiler.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42F7BA45.4040700>