summaryrefslogtreecommitdiffstats
path: root/fs/namespace.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2009-05-08 19:31:17 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2009-06-12 03:36:08 +0200
commit6fac98dd218653c6aff8a0f56305c424930cea2a (patch)
tree0c5bdca0092e5ec3b201bae958071a7e8385409d /fs/namespace.c
parentPush lock_super() into the ->remount_fs() of filesystems that care about it (diff)
downloadlinux-6fac98dd218653c6aff8a0f56305c424930cea2a.tar.xz
linux-6fac98dd218653c6aff8a0f56305c424930cea2a.zip
Push BKL into do_mount()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to '')
-rw-r--r--fs/namespace.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index 7e537f0393b5..4740f7bdb556 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1921,6 +1921,7 @@ long do_mount(char *dev_name, char *dir_name, char *type_page,
if (retval)
goto dput_out;
+ lock_kernel();
if (flags & MS_REMOUNT)
retval = do_remount(&path, flags & ~MS_REMOUNT, mnt_flags,
data_page);
@@ -1933,6 +1934,7 @@ long do_mount(char *dev_name, char *dir_name, char *type_page,
else
retval = do_new_mount(&path, type_page, flags, mnt_flags,
dev_name, data_page);
+ unlock_kernel();
dput_out:
path_put(&path);
return retval;
@@ -2046,10 +2048,8 @@ SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name,
if (retval < 0)
goto out3;
- lock_kernel();
retval = do_mount((char *)dev_page, dir_page, (char *)type_page,
flags, (void *)data_page);
- unlock_kernel();
free_page(data_page);
out3: