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>