[PATCH] [PATCH] afs: add missing up_write() on return

Sven Schnelle svens at stackframe.org
Wed Apr 2 01:50:07 EDT 2008


if afs_cell_alloc() fails, afs_cells_sem doesn't get unlocked, which
leads to a deadlock. Unlock it before returning.

Signed-off-by: Sven Schnelle <svens at stackframe.org>
---
 fs/afs/cell.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/fs/afs/cell.c b/fs/afs/cell.c
index 788865d..584bb0f 100644
--- a/fs/afs/cell.c
+++ b/fs/afs/cell.c
@@ -138,6 +138,7 @@ struct afs_cell *afs_cell_create(const char *name, char *vllist)
 	cell = afs_cell_alloc(name, vllist);
 	if (IS_ERR(cell)) {
 		_leave(" = %ld", PTR_ERR(cell));
+		up_write(&afs_cells_sem);
 		return cell;
 	}
 
-- 
1.5.4.5




More information about the linux-afs mailing list