hpfs_setattr error case avoids unlock_kernel
authorDr. David Alan Gilbert <linux@treblig.org>
Mon, 13 Dec 2010 17:09:52 +0000 (17:09 +0000)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 17 Jan 2011 10:11:37 +0000 (05:11 -0500)
This fixed a case that 'sparse' spotted where hpfs_setattr has an error return
that didn't go through it's path that unlocks.

This is against git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
version 6313e3c21743cc88bb5bd8aa72948ee1e83937b6.

Build tested only, I don't have an hpfs file system to test.

Dave

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/hpfs/inode.c

index 56f0da1cfd106ce97a6dfcf1222b2416275dd98b..1ae35baa539e7da46105dd8f75eb019dd1ddf11e 100644 (file)
@@ -281,7 +281,7 @@ int hpfs_setattr(struct dentry *dentry, struct iattr *attr)
            attr->ia_size != i_size_read(inode)) {
                error = vmtruncate(inode, attr->ia_size);
                if (error)
-                       return error;
+                       goto out_unlock;
        }
 
        setattr_copy(inode, attr);