cvs commit: src/sys/kern kern_sysctl.c

Don Lewis truckman at FreeBSD.org
Sun Oct 5 03:41:24 PDT 2003


On  5 Oct, Bruce M Simpson wrote:
> bms         2003/10/05 02:37:47 PDT
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/kern             kern_sysctl.c 
>   Log:
>   Fix a security problem in sysctl() the long way round.
>   
>   Use pre-emption detection to avoid the need for wiring a userland buffer
>   when copying opaque data structures.
>   
>   sysctl_wire_old_buffer() is now a no-op. Other consumers of this
>   API should use pre-emption detection to notice update collisions.

There are a number of consumers of sysctl_wire_old_buffer() that use it
to avoid blocking while holding a mutex.  In general they call
SYSCTL_OUT() multiple times while traversing a data structure.  They
probably should have been fixed before neutering
sysctl_wire_old_buffer().



More information about the cvs-all mailing list