Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Jan 2011 22:32:23 -0500
From:      George Neville-Neil <gnn@neville-neil.com>
To:        mdf@FreeBSD.org
Cc:        FreeBSD Arch <freebsd-arch@freebsd.org>
Subject:   Re: SYSCTL type safety
Message-ID:  <F98F6C21-C477-4C55-BF10-DBBFA5871E0B@neville-neil.com>
In-Reply-To: <AANLkTimv%2Br8o9_U7dxvO1o7mpNSM4VdYH7ex=uT_4WwO@mail.gmail.com>
References:  <AANLkTimv%2Br8o9_U7dxvO1o7mpNSM4VdYH7ex=uT_4WwO@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Jan 7, 2011, at 18:13 , mdf@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.

Best,
George





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F98F6C21-C477-4C55-BF10-DBBFA5871E0B>