• Julia Lawall's avatar
    i2c-smbus: Convert kzalloc to devm_kzalloc · 71b57845
    Julia Lawall authored
    Converting kzalloc to devm_kzalloc simplifies the code and ensures that the
    result, alert, is freed after the irq allocated by the subsequent
    devm_request_irq.  This in turn ensures that when an interrupt can be
    triggered, the alert structure is still available.
    
    The problem of a free after a devm_request_irq was found using the
    following semantic match (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r exists@
    expression e1,e2,x,a,b,c,d;
    identifier free;
    position p1,p2;
    @@
    
      devm_request_irq@p1(e1,e2,...,x)
      ... when any
          when != e2 = a
          when != x = b
      if (...) {
        ... when != e2 = c
            when != x = d
        free@p2(...,x,...);
        ...
        return ...;
      }
    // </smpl>
    Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
    71b57845
i2c-smbus.c 6.9 KB