hpfs_setattr error case avoids unlock_kernel
Dr. David Alan Gilbert [Mon, 13 Dec 2010 17:09:52 +0000 (17:09 +0000)]
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 56f0da1..1ae35ba 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);