[PATCH] reiserfs: fix deadlock in inode creation failure path w/ default ACL
authorJeff Mahoney <jeffm@suse.com>
Wed, 27 Jul 2005 18:43:38 +0000 (11:43 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 27 Jul 2005 23:25:50 +0000 (16:25 -0700)
commitb3bb8afd965159f155d4f629cbea158cbcc69275
treefffcb983d26aa1d435ba8e2b788a7aaf0b6efce0
parentc9b3ad673460fc997a652cd58aa3a345d40e5218
[PATCH] reiserfs: fix deadlock in inode creation failure path w/ default ACL

reiserfs_new_inode() can call iput() with the xattr lock held.  This will
cause a deadlock to occur when reiserfs_delete_xattrs() is called to clean
up.

The following patch releases the lock and reacquires it after the iput.
This is safe because interaction with xattrs is complete, and the relock is
just to balance out the release in the caller.

The locking needs some reworking to be more sane, but that's more intrusive
and I was just looking to fix this bug.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/reiserfs/inode.c