"out" label was only returning error code.

Signed-off-by: Fabian Frederick <f...@skynet.be>
---
 fs/udf/file.c | 39 +++++++++++++++------------------------
 1 file changed, 15 insertions(+), 24 deletions(-)

diff --git a/fs/udf/file.c b/fs/udf/file.c
index d44b3cb..00931fa 100644
--- a/fs/udf/file.c
+++ b/fs/udf/file.c
@@ -176,57 +176,48 @@ long udf_ioctl(struct file *filp, unsigned int cmd, 
unsigned long arg)
 {
        struct inode *inode = file_inode(filp);
        long old_block, new_block;
-       int result = -EINVAL;
+       int result;
 
        if (inode_permission(inode, MAY_READ) != 0) {
                udf_debug("no permission to access inode %lu\n", inode->i_ino);
-               result = -EPERM;
-               goto out;
+               return -EPERM;
        }
 
        if (!arg && ((cmd == UDF_GETVOLIDENT) || (cmd == UDF_GETEASIZE) ||
                     (cmd == UDF_RELOCATE_BLOCKS) || (cmd == UDF_GETEABLOCK))) {
                udf_debug("invalid argument to udf_ioctl\n");
-               result = -VM_FAULT_SIGBUS;
-               goto out;
+               return -VM_FAULT_SIGBUS;
        }
 
        switch (cmd) {
        case UDF_GETVOLIDENT:
                if (copy_to_user((char __user *)arg,
                                 UDF_SB(inode->i_sb)->s_volume_ident, 32))
-                       result = -EFAULT;
+                       return -EFAULT;
                else
-                       result = 0;
-               goto out;
+                       return 0;
        case UDF_RELOCATE_BLOCKS:
-               if (!capable(CAP_SYS_ADMIN)) {
-                       result = -EPERM;
-                       goto out;
-               }
-               if (get_user(old_block, (long __user *)arg)) {
-                       result = -EFAULT;
-                       goto out;
-               }
+               if (!capable(CAP_SYS_ADMIN))
+                       return -EPERM;
+
+               if (get_user(old_block, (long __user *)arg))
+                       return -EFAULT;
+
                result = udf_relocate_blocks(inode->i_sb,
                                                old_block, &new_block);
                if (result == 0)
                        result = put_user(new_block, (long __user *)arg);
-               goto out;
+
+               return result;
        case UDF_GETEASIZE:
-               result = put_user(UDF_I(inode)->i_lenEAttr, (int __user *)arg);
-               goto out;
+               return put_user(UDF_I(inode)->i_lenEAttr, (int __user *)arg);
        case UDF_GETEABLOCK:
-               result = copy_to_user((char __user *)arg,
+               return copy_to_user((char __user *)arg,
                                      UDF_I(inode)->i_ext.i_data,
                                      UDF_I(inode)->i_lenEAttr) ? -EFAULT : 0;
-               goto out;
        default:
                return -ENOIOCTLCMD;
        }
-
-out:
-       return result;
 }
 
 static int udf_release_file(struct inode *inode, struct file *filp)
-- 
2.9.3

Reply via email to