Revert "ANDROID: sdcardfs: Change current->fs under lock"
authorTodd Kjos <tkjos@google.com>
Wed, 3 Oct 2018 20:50:58 +0000 (13:50 -0700)
committerKim Gunho <gunho.kim@samsung.com>
Fri, 28 Jun 2019 14:46:28 +0000 (23:46 +0900)
This reverts commit 1e6b0ff01fc5cb2701734de69a93fb1c42d894b5.

Change-Id: Ie3ab446da93fb1cea37078addd261a1c3b863237

fs/sdcardfs/inode.c

index 4dd681e0d59d948374883a7e34ed8318d4537e23..7c6a64d861fb571fe37974fd742ab8bd630eb5bf 100644 (file)
@@ -97,11 +97,8 @@ static int sdcardfs_create(struct inode *dir, struct dentry *dentry,
                err = -ENOMEM;
                goto out_unlock;
        }
-       copied_fs->umask = 0;
-       task_lock(current);
        current->fs = copied_fs;
-       task_unlock(current);
-
+       current->fs->umask = 0;
        err = vfs_create2(lower_dentry_mnt, d_inode(lower_parent_dentry), lower_dentry, mode, want_excl);
        if (err)
                goto out;
@@ -115,9 +112,7 @@ static int sdcardfs_create(struct inode *dir, struct dentry *dentry,
        fixup_lower_ownership(dentry, dentry->d_name.name);
 
 out:
-       task_lock(current);
        current->fs = saved_fs;
-       task_unlock(current);
        free_fs_struct(copied_fs);
 out_unlock:
        unlock_dir(lower_parent_dentry);
@@ -255,11 +250,8 @@ static int sdcardfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode
                unlock_dir(lower_parent_dentry);
                goto out_unlock;
        }
-       copied_fs->umask = 0;
-       task_lock(current);
        current->fs = copied_fs;
-       task_unlock(current);
-
+       current->fs->umask = 0;
        err = vfs_mkdir2(lower_mnt, d_inode(lower_parent_dentry), lower_dentry, mode);
 
        if (err) {
@@ -327,10 +319,7 @@ static int sdcardfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode
                }
        }
 out:
-       task_lock(current);
        current->fs = saved_fs;
-       task_unlock(current);
-
        free_fs_struct(copied_fs);
 out_unlock:
        sdcardfs_put_lower_path(dentry, &lower_path);