Re: coccinelle and bitmask arithmetic (was: Re: [patch] TTY:synclink, small cleanup in dtr_rts())

From: Dan Carpenter
Date: Tue Jan 29 2013 - 12:31:45 EST


On Tue, Jan 29, 2013 at 05:19:43PM +0100, Julia Lawall wrote:
> If the definition of a bitmask is an identifier in all capital letters,
> that would be easy. Another possibility is such an identifier that is
> defined to a value expressed beginning with 0x. Another possibility is
> such an identifier that is sometimes used with & and | and sometimes used
> with an arithmetic operation. I will give them a try.
>

Oddly enough, this thread started because I wrote a script to do
this in Smatch. It turns out not as useful as I had hoped, so I
wasn't planning to push it.

Anyway, I've gzipped it and attached it. It's 350k because it has
a list of 50k macros which were used as bit masks. Hopefully, it's
helpful.

It generates 350 warnings, but they are almost all false positives.
I have sent two patches based on the output.

regards,
dan carpenter

Attachment: 0001-check_bit_masks-complain-if-bitmasks-are-used-for-ma.patch.gz
Description: Binary data