]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
[PATCH] UFS: inode->i_sem is not released in error path
authorEvgeniy Polyakov <johnpol@2ka.mipt.ru>
Wed, 4 Jan 2006 01:59:19 +0000 (17:59 -0800)
committerChris Wright <chrisw@sous-sol.org>
Sun, 8 Jan 2006 02:15:09 +0000 (18:15 -0800)
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

index f036d694ba5afe75263862b30870c4ff6794c590..b4662651d63d6d288d312871cd60d98d5df35fe6 100644 (file)
@@ -1294,8 +1294,10 @@ static ssize_t ufs_quota_write(struct super_block *sb, int type,
                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++;