summary refs log tree commit diff
path: root/fs/xfs/quota
diff options
context:
space:
mode:
authorJulia Lawall <julia@diku.dk>2010-05-26 15:57:23 +0000
committerAlex Elder <aelder@sgi.com>2010-05-28 15:19:41 -0500
commit38e712ab3d28d79725eaade02fe8aba51abac196 (patch)
treee9fb77e11d0be890b86abcbe5fadc02e4761615f /fs/xfs/quota
parent3bd0946eb157e26240ca858d1a42738b095dc6f3 (diff)
downloadlinux-38e712ab3d28d79725eaade02fe8aba51abac196.tar.gz
fs/xfs/quota: Add missing mutex_unlock
Add a mutex_unlock missing on the error path.  The use of this lock
is balanced elsewhere in the file.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression E1;
@@

* mutex_lock(E1,...);
  <+... when != E1
  if (...) {
    ... when != E1
*   return ...;
  }
  ...+>
* mutex_unlock(E1,...);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/quota')
-rw-r--r--fs/xfs/quota/xfs_qm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c
index 38e764146644..2d8b7bc792c9 100644
--- a/fs/xfs/quota/xfs_qm.c
+++ b/fs/xfs/quota/xfs_qm.c
@@ -249,8 +249,10 @@ xfs_qm_hold_quotafs_ref(
 
 	if (!xfs_Gqm) {
 		xfs_Gqm = xfs_Gqm_init();
-		if (!xfs_Gqm)
+		if (!xfs_Gqm) {
+			mutex_unlock(&xfs_Gqm_lock);
 			return ENOMEM;
+		}
 	}
 
 	/*