• P
    drivers/isdn/gigaset/common.c: Remove useless kfree · 7f2e6a5d
    Peter Senna Tschudin 提交于
    Remove useless kfree() and clean up code related to the removal.
    
    The semantic patch that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r exists@
    position p1,p2;
    expression x;
    @@
    
    if (x@p1 == NULL) { ... kfree@p2(x); ... return ...; }
    
    @unchanged exists@
    position r.p1,r.p2;
    expression e <= r.x,x,e1;
    iterator I;
    statement S;
    @@
    
    if (x@p1 == NULL) { ... when != I(x,...) S
                            when != e = e1
                            when != e += e1
                            when != e -= e1
                            when != ++e
                            when != --e
                            when != e++
                            when != e--
                            when != &e
       kfree@p2(x); ... return ...; }
    
    @ok depends on unchanged exists@
    position any r.p1;
    position r.p2;
    expression x;
    @@
    
    ... when != true x@p1 == NULL
    kfree@p2(x);
    
    @depends on !ok && unchanged@
    position r.p2;
    expression x;
    @@
    
    *kfree@p2(x);
    // </smpl>
    Signed-off-by: NPeter Senna Tschudin <peter.senna@gmail.com>
    Acked-by: NTilman Schmidt <tilman@imap.cc>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    7f2e6a5d
common.c 26.4 KB