2a481800ca
In an error handling case the lock is not unlocked. The return is converted to a goto, to share the unlock at the end of the function. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ expression E1; identifier f; @@ f (...) { <+... * spin_lock_irqsave (E1,...); ... when != E1 * return ...; ...+> } // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Cc: <richard.rojfors@pelagicore.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
adp5520-gpio.c | ||
adp5588-gpio.c | ||
bt8xxgpio.c | ||
cs5535-gpio.c | ||
gpiolib.c | ||
it8761e_gpio.c | ||
langwell_gpio.c | ||
max730x.c | ||
max732x.c | ||
max7300.c | ||
max7301.c | ||
mc33880.c | ||
mcp23s08.c | ||
pca953x.c | ||
pcf857x.c | ||
pl061.c | ||
sch_gpio.c | ||
timbgpio.c | ||
twl4030-gpio.c | ||
ucb1400_gpio.c | ||
vr41xx_giu.c | ||
wm831x-gpio.c | ||
wm8350-gpiolib.c | ||
wm8994-gpio.c | ||
xilinx_gpio.c |