diff options
| author | Jan Kara <jack@suse.cz> | 2012-01-11 18:52:10 +0000 | 
|---|---|---|
| committer | Ben Myers <bpm@sgi.com> | 2012-01-25 11:01:31 -0600 | 
| commit | 9b025eb3a89e041bab6698e3858706be2385d692 (patch) | |
| tree | acb29c488c3f538c2041e279b701b0965cd9667b /fs/xfs/xfs_vnodeops.c | |
| parent | dcd6c92267155e70a94b3927bce681ce74b80d1f (diff) | |
| download | olio-linux-3.10-9b025eb3a89e041bab6698e3858706be2385d692.tar.xz olio-linux-3.10-9b025eb3a89e041bab6698e3858706be2385d692.zip  | |
xfs: Fix missing xfs_iunlock() on error recovery path in xfs_readlink()
Commit b52a360b forgot to call xfs_iunlock() when it detected corrupted
symplink and bailed out. Fix it by jumping to 'out' instead of doing return.
CC: stable@kernel.org
CC: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Alex Elder <elder@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Ben Myers <bpm@sgi.com> 
Diffstat (limited to 'fs/xfs/xfs_vnodeops.c')
| -rw-r--r-- | fs/xfs/xfs_vnodeops.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c index 0cf52da9d24..ebdb88840a4 100644 --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c @@ -131,7 +131,8 @@ xfs_readlink(  			 __func__, (unsigned long long) ip->i_ino,  			 (long long) pathlen);  		ASSERT(0); -		return XFS_ERROR(EFSCORRUPTED); +		error = XFS_ERROR(EFSCORRUPTED); +		goto out;  	}  |