Merge branch 'for-linus' of git://selinuxproject.org/~jmorris/linux-security
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / usb / gadget / f_fs.c
index da9d04815ea54ff42a3493dcff783eb553fc6a8a..f63dc6c150d2e4c80b3cdb9f1425c2f4bd4f9b8d 100644 (file)
@@ -1037,7 +1037,6 @@ static int ffs_sb_fill(struct super_block *sb, void *_data, int silent)
 {
        struct ffs_sb_fill_data *data = _data;
        struct inode    *inode;
-       struct dentry   *d;
        struct ffs_data *ffs;
 
        ENTER();
@@ -1045,7 +1044,7 @@ static int ffs_sb_fill(struct super_block *sb, void *_data, int silent)
        /* Initialise data */
        ffs = ffs_data_new();
        if (unlikely(!ffs))
-               goto enomem0;
+               goto Enomem;
 
        ffs->sb              = sb;
        ffs->dev_name        = data->dev_name;
@@ -1065,26 +1064,21 @@ static int ffs_sb_fill(struct super_block *sb, void *_data, int silent)
                                  &simple_dir_inode_operations,
                                  &data->perms);
        if (unlikely(!inode))
-               goto enomem1;
-       d = d_alloc_root(inode);
-       if (unlikely(!d))
-               goto enomem2;
-       sb->s_root = d;
+               goto Enomem;
+       sb->s_root = d_alloc_root(inode);
+       if (unlikely(!sb->s_root)) {
+               iput(inode);
+               goto Enomem;
+       }
 
        /* EP0 file */
        if (unlikely(!ffs_sb_create_file(sb, "ep0", ffs,
                                         &ffs_ep0_operations, NULL)))
-               goto enomem3;
+               goto Enomem;
 
        return 0;
 
-enomem3:
-       dput(d);
-enomem2:
-       iput(inode);
-enomem1:
-       ffs_data_put(ffs);
-enomem0:
+Enomem:
        return -ENOMEM;
 }
 
@@ -1196,14 +1190,11 @@ ffs_fs_mount(struct file_system_type *t, int flags,
 static void
 ffs_fs_kill_sb(struct super_block *sb)
 {
-       void *ptr;
-
        ENTER();
 
        kill_litter_super(sb);
-       ptr = xchg(&sb->s_fs_info, NULL);
-       if (ptr)
-               ffs_data_put(ptr);
+       if (sb->s_fs_info)
+               ffs_data_put(sb->s_fs_info);
 }
 
 static struct file_system_type ffs_fs_type = {