lkml.org 
[lkml]   [2007]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Make checkpatch warn about pointless casting of kalloc returns.
    jschopp wrote:
    >> +# check for pointless casting of kmalloc return
    >> + if ($rawline =~ /\*\)[ ]k[czm]alloc/) {
    >
    > It looks to me like this will catch
    >
    > foo = (char *) kmalloc(512);
    >
    > but not
    >
    > for = (char* )kmalloc(512);
    >
    > I haven't tried it but how about something like:
    >
    > if($rawline =~/\(.*\)\s*k[czm]alloc/){
    >
    > which if I got it right should match the typecast with any combination
    > of spacing.
    >
    >> + WARN("No need to cast return value.\n");
    >
    > Could the warning be more descriptive? This describes what, but it
    > should also describe why; after all if somebody made this error they may
    > not know they why.

    Yes there are a few problems with the match, plus it needs to be on the
    processed line to avoid false matches in strings (however unlikely). I
    ended up with the following:

    if ($line =~ /\*\s*\)\s*k[czm]alloc\b/) {
    WARN("unnecessary cast may hide bugs, see
    http://c-faq.com/malloc/mallocnocast.html\n" . $herecurr);
    }

    Which just fits on the line :).

    Thanks for the patch. Will be in 0.10 coming to an -mm near you soon.

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

    \
     
     \ /
      Last update: 2007-08-13 15:53    [W:3.101 / U:0.616 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site