All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/7] drivers/net/ehea/ehea_main.c: Release mutex in error
@ 2008-07-21  7:57 ` Julia Lawall
  0 siblings, 0 replies; 6+ messages in thread
From: Julia Lawall @ 2008-07-21  7:57 UTC (permalink / raw)
  To: jgarzik, raisch, netdev, linux-kernel, kernel-janitors

From: Julia Lawall <julia@diku.dk>

The mutex is released on a successful return, so it would seem that it
should be released on an error return as well.

The semantic patch finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
expression l;
@@

mutex_lock(l);
... when != mutex_unlock(l)
    when any
    when strict
(
if (...) { ... when != mutex_unlock(l)
+   mutex_unlock(l);
    return ...;
}
|
mutex_unlock(l);
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>

---
diff -u -p a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -2937,9 +2937,9 @@ static void ehea_rereg_mrs(struct work_s
 				}
 			}
 		}
-       mutex_unlock(&dlpar_mem_lock);
-       ehea_info("re-initializing driver complete");
+	ehea_info("re-initializing driver complete");
 out:
+	mutex_unlock(&dlpar_mem_lock);
 	return;
 }
 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-07-30 21:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-21  7:57 [PATCH 2/7] drivers/net/ehea/ehea_main.c: Release mutex in error Julia Lawall
2008-07-21  7:57 ` [PATCH 2/7] drivers/net/ehea/ehea_main.c: Release mutex in error handling code Julia Lawall
2008-07-29  8:14 ` Jan-Bernd Themann
2008-07-29  8:14   ` Jan-Bernd Themann
2008-07-30 21:23 ` [PATCH 2/7] drivers/net/ehea/ehea_main.c: Release mutex in error Jeff Garzik
2008-07-30 21:23   ` [PATCH 2/7] drivers/net/ehea/ehea_main.c: Release mutex in error handling code Jeff Garzik

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.