lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 12 Jul 2010 13:35:55 -0500 From: Larry Finger <Larry.Finger@...inger.net> To: Joe Perches <joe@...ches.com> CC: Andy Whitcroft <apw@...onical.com>, LKML <linux-kernel@...r.kernel.org> Subject: Re: Possible false positive from checkpatch.pl On 07/12/2010 01:28 PM, Joe Perches wrote: > On Mon, 2010-07-12 at 12:52 -0500, Larry Finger wrote: >> Andy, >> >> In preparing a vendor driver for submission to staging, I am getting the >> following from checkpatch.pl: >> >> ERROR: Macros with multiple statements should be enclosed in a do - while loop >> #377: FILE: staging/rtl8712/rtl871x_mp_ioctl.h:377: >> +#define GEN_MP_IOCTL_HANDLER(sz, hdl, oid) {sz, hdl, oid}, > > I think you should leave off the trailing comma from the macros > and C99 might be better. Maybe something like: > > (whatever the field names really are) > > #define GEN_MP_IOCTL_HANDLER(sz, hdl, oid) \ > {.field1 = sz, .field2 = hdl, .field3 = oid} > >> ERROR: Macros with multiple statements should be enclosed in a do - while loop >> #378: FILE: staging/rtl8712/rtl871x_mp_ioctl.h:378: >> +#define EXT_MP_IOCTL_HANDLER(sz, subcode, oid) {sz,&mp_ioctl_ \ >> + ## subcode ## _hdl, oid}, > > The line continuation is rather ugly too. Perhaps it's better as: > > #define EXT_MP_IOCTL_HANDLER(sz, subcode, oid) \ > {.field1 = sz, .field2 =&mp_ioctl_##subcode##_hdl, .field3 = oid} > > They pass checkpatch without error. > > $ cat foo.h > #define GEN_MP_IOCTL_HANDLER(sz, hdl, oid) \ > {.field1 = sz, .field2 = hdl, .field3 = oid} > #define EXT_MP_IOCTL_HANDLER(sz, subcode, oid) \ > {.field1 = sz, .field2 =&mp_ioctl_##subcode##_hdl, .field3 = oid} > $ ./scripts/checkpatch.pl -f foo.h > total: 0 errors, 0 warnings, 4 lines checked > > foo.h has no obvious style problems and is ready for submission. These are ugly macros that will be eliminated, but for the moment they are in the code. As I stated in my original email, removing the comma from the definition and adding it to the code does fix the checkpatch error, but it should not be necessary. Larry -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists