ring-buffer: Add missing unlock
authorJulia Lawall <julia@diku.dk>
Mon, 29 Mar 2010 15:37:02 +0000 (17:37 +0200)
committerSteven Rostedt <rostedt@goodmis.org>
Mon, 29 Mar 2010 19:23:24 +0000 (15:23 -0400)
commit292f60c0c4ab44aa2d589ba03c12e64a3b3c5e38
tree0c33c9b23202a27c768dee45776503c9ec6b8306
parente36673ec5126f15a8cddf6049aede7bdcf484c26
ring-buffer: Add missing unlock

In some error handling cases 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_irq (E1,...);
... when != E1
* return ...;
...+> }
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
LKML-Reference: <Pine.LNX.4.64.1003291736440.21896@ask.diku.dk>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/ring_buffer.c