reiserfs: fix inode mutex - reiserfs lock misordering
authorFrederic Weisbecker <fweisbec@gmail.com>
Wed, 24 Nov 2010 20:57:15 +0000 (12:57 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 24 Nov 2010 21:50:48 +0000 (06:50 +0900)
commitda905873effecd1c0166e578bc4b5006f041b18b
treeba6e699a028ce1e0625a01a3e6f82d83dad04aca
parentd1d73578e053b981c3611e5a211534290d24a5eb
reiserfs: fix inode mutex - reiserfs lock misordering

reiserfs_unpack() locks the inode mutex with reiserfs_mutex_lock_safe()
to protect against reiserfs lock dependency.  However this protection
requires to have the reiserfs lock to be locked.

This is the case if reiserfs_unpack() is called by reiserfs_ioctl but
not from reiserfs_quota_on() when it tries to unpack tails of quota
files.

Fix the ordering of the two locks in reiserfs_unpack() to fix this
issue.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Reported-by: Markus Gapp <markus.gapp@gmx.net>
Reported-by: Jan Kara <jack@suse.cz>
Cc: Jeff Mahoney <jeffm@suse.com>
Cc: <stable@kernel.org> [2.6.36.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/reiserfs/ioctl.c