88pm860x_battery: Eliminate possible references to released resources
authorJulia Lawall <julia.lawall@lip6.fr>
Sun, 6 Jan 2013 20:46:23 +0000 (12:46 -0800)
committerAnton Vorontsov <anton@enomsg.org>
Sun, 6 Jan 2013 20:46:23 +0000 (12:46 -0800)
commit0853699252afdeece69c9127d57fd367d3c04a35
tree591115b3f18593cf52f358ac52960a6e48a50182
parent8feffd109977c045669913f4e80e8811f2212cd9
88pm860x_battery: Eliminate possible references to released resources

devm_kzalloc should not be followed by kfree, as this results in a double
free.  The problem was found using the following semantic match
(http://coccinelle.lip6.fr/):

// <smpl>
@@
expression x,e;
@@
x = devm_kzalloc(...)
... when != x = e
?-kfree(x,...);
// </smpl>

Furthermore, in the remove function, the calls to free_irq are moved up to
prevent a possible reference in the interrupt handler to resources freed by
power_supply_unregister.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Anton Vorontsov <anton@enomsg.org>
drivers/power/88pm860x_battery.c