SYSCTL type safety

Garrett Cooper gcooper at FreeBSD.org
Sat Jan 8 03:58:29 UTC 2011


On Fri, Jan 7, 2011 at 7:32 PM, George Neville-Neil
<gnn at neville-neil.com> wrote:
>
> On Jan 7, 2011, at 18:13 , mdf at FreeBSD.org wrote:
>
>> Long ago at Isilon we ran into a problem with some sysctls in the
>> stock FreeBSD tree using the wrong type, like SYSCTL_ULONG on an int,
>> or just mixing unsigned/signed.  We have a patch that uses transparent
>> unions to cause a compile-time error with a type mismatch.  For a
>> while I was hesitant to push this since I wasn't sure about the use of
>> a gcc extension, but the SYSCTL fixes and the way to keep them sane
>> came up again when we started building a new driver locally, and the
>> build failed until we fixed some SYSCTL stuff.
>>
>> Anyways, the patch to sys/sysctl.h is at
>>
>> http://people.freebsd.org/~mdf/bsd-sysctl-type-safety.diff
>>
>> Please chime in if you think this is a bad thing to add to the tree.
>> I will of course ensure a make universe passes locally before
>> committing this part.  The plan is to change the SYSCTL use, not the
>> base type of the variable, for any conflicts found.
>>
>
> I have read, but not tried the patch.  I definitely like the idea.

    +1 (haven't tried, like the idea). Similar needs to be done for
tunables as well.
Thanks,
-Garrett


More information about the freebsd-arch mailing list