Re: add memset checks to checkpatch.pl

From: Joe Perches
Date: Wed Aug 18 2010 - 17:32:22 EST


On Wed, 2010-08-18 at 16:40 -0400, Dave Jones wrote:
> Occasionally someone goofs the argument order to memset.
> This patch makes checkpatch catch those.
>
> I made memset with size of 0 an error, because it's never correct,
> whereas memset with a size of 1 isn't technically an incorrect
> thing to do so I left it as a warning. It may still be better to replace
> it with a single variable assignment in the false positive cases.

Maybe something like allows more flexible checking?

if ($line =~ /\bmemset\s*\(\s*($Lval)\s*,\s*($Lval)\s*,\s*($Lval)\s*\)/) {
my $memset_addr = $1;
my $memset_val = $2;
my $memset_size = $3;
if ($memset_size =~ /(0x|)0$/i) {
ERROR("memset uses second argument as constant byte value, not third.\n" . $herecurr);
elsif ($memset_size =~ /(0x|)1/i) {
WARN("single byte memset is suspicious. Swapped 2nd/3rd argument?\n" . $herecurr);
}
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/