net/netlabel: Correct redundant test
authorJulia Lawall <julia@diku.dk>
Mon, 27 Jul 2009 06:15:43 +0000 (06:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jul 2009 18:35:29 +0000 (11:35 -0700)
commit479432344420bc9a868088e346fecb6765e2b674
tree08d57c28a83ba2c633c91df8490e37f6d4adc03f
parent463889e27e6f4f097374a6c9de5611f520766dad
net/netlabel: Correct redundant test

entry was tested for NULL near the beginning of the function, followed by a
return, and there is no intervening modification of its value.

A simplified version of the semantic match that finds this problem is as
follows: (http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@r exists@
local idexpression x;
expression E;
position p1,p2;
@@

if (x == NULL || ...) { ... when forall
   return ...; }
... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\)
(
*x == NULL
|
*x != NULL
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netlabel/netlabel_kapi.c