Date: Fri, 7 Jan 2011 15:13:36 -0800 From: mdf@FreeBSD.org To: FreeBSD Arch <freebsd-arch@freebsd.org> Subject: SYSCTL type safety Message-ID: <AANLkTimv%2Br8o9_U7dxvO1o7mpNSM4VdYH7ex=uT_4WwO@mail.gmail.com>
index | next in thread | raw e-mail
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. Thanks, matthewhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimv%2Br8o9_U7dxvO1o7mpNSM4VdYH7ex=uT_4WwO>
