blob: 1373da4f6be7e7aa5741bcfc254bbaef231a58a4 [file] [log] [blame]
From stable-bounces@linux.kernel.org Tue Jan 3 18:03:11 2006
Message-Id: <200601040159.k041xUT1004672@shell0.pdx.osdl.net>
To: johnpol@2ka.mipt.ru, stable@kernel.org, mm-commits@vger.kernel.org
From: akpm@osdl.org
Date: Tue, 03 Jan 2006 17:59:19 -0800
Subject: UFS: inode->i_sem is not released in error path
From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: <stable@kernel.org>
akpm: obviously correct, OK for -stable immediately.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
fs/ufs/super.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
Index: linux-2.6.15.y/fs/ufs/super.c
===================================================================
--- linux-2.6.15.y.orig/fs/ufs/super.c
+++ linux-2.6.15.y/fs/ufs/super.c
@@ -1296,8 +1296,10 @@ static ssize_t ufs_quota_write(struct su
blk++;
}
out:
- if (len == towrite)
+ if (len == towrite) {
+ up(&inode->i_sem);
return err;
+ }
if (inode->i_size < off+len-towrite)
i_size_write(inode, off+len-towrite);
inode->i_version++;