Re: [PATCH] checkpatch: consolidate if (foo) bar(foo) checks and add debugfs_remove

Andy Whitcroft
2012-11-20T16:40:00Z

On Tue, Nov 20, 2012 at 07:51:17AM -0800, Joe Perches wrote:
> On Tue, 2012-11-20 at 15:37 +0000, Andy Whitcroft wrote:
> > Consolidate the if (foo) bar(foo) detectors into a single check. Add
> > debugfs_remove and family.
> >
> > Based on a patch by Constantine Shulyupin <const@MakeLinux.com>.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> >
> > +# check for needless "if (<foo>) fn(<foo>)" uses
> > + if ($prevline =~ /\bif\s*\(\s*($Lval)\s*\)/) {
> > + my $expr = '\s*\(\s*' . quotemeta($1) . '\s*\)\s*;';
> > +
> []
> > +# check for needless debugfs_remove() and debugfs_remove_recursive*() checks
>
> Hey Andy, that's an incomplete comment.
> Just remove it.

Oh it is meant to drop next to the other comments from the preceeding
hunks which are being removed, it should end up looking like this:

# check for needless kfree() checks
# check for needless usb_free_urb() checks
# check for needless debugfs_remove() and debugfs_remove_recursive*() checks

Admitedly the trailing checks on each are a little redundant, but it is
intended to retain the list of functions affected.

>
> > + if ($line =~ /\b(kfree|usb_free_urb|debugfs_remove(?:_recursive)?)$expr/) {
> > + WARN('NEEDLESS_IF',
> > + "$1(NULL) is safe this check is probably not required\n" . $hereprev);
> > }
> > }
> >

-apw