|
@@ -3198,20 +3198,12 @@ sub process {
|
|
|
$herecurr);
|
|
|
}
|
|
|
|
|
|
-# check for needless kfree() checks
|
|
|
- if ($prevline =~ /\bif\s*\(([^\)]*)\)/) {
|
|
|
- my $expr = $1;
|
|
|
- if ($line =~ /\bkfree\(\Q$expr\E\);/) {
|
|
|
- WARN("NEEDLESS_KFREE",
|
|
|
- "kfree(NULL) is safe this check is probably not required\n" . $hereprev);
|
|
|
- }
|
|
|
- }
|
|
|
-# check for needless usb_free_urb() checks
|
|
|
- if ($prevline =~ /\bif\s*\(([^\)]*)\)/) {
|
|
|
- my $expr = $1;
|
|
|
- if ($line =~ /\busb_free_urb\(\Q$expr\E\);/) {
|
|
|
- WARN("NEEDLESS_USB_FREE_URB",
|
|
|
- "usb_free_urb(NULL) is safe this check is probably not required\n" . $hereprev);
|
|
|
+# check for needless "if (<foo>) fn(<foo>)" uses
|
|
|
+ if ($prevline =~ /\bif\s*\(\s*($Lval)\s*\)/) {
|
|
|
+ my $expr = '\s*\(\s*' . quotemeta($1) . '\s*\)\s*;';
|
|
|
+ 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);
|
|
|
}
|
|
|
}
|
|
|
|