mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
vfs: move getname() from callers to do_mount()
It would make more sense to pass char __user * instead of char * in callers of do_mount() and do getname() inside do_mount(). Suggested-by: Al Viro <[email protected]> Signed-off-by: Seunghun Lee <[email protected]> Signed-off-by: Al Viro <[email protected]>
This commit is contained in:
parent
4d93bc3e81
commit
5e6123f347
4 changed files with 21 additions and 44 deletions
20
fs/compat.c
20
fs/compat.c
|
|
@ -794,7 +794,6 @@ COMPAT_SYSCALL_DEFINE5(mount, const char __user *, dev_name,
|
|||
char *kernel_type;
|
||||
unsigned long data_page;
|
||||
char *kernel_dev;
|
||||
struct filename *dir;
|
||||
int retval;
|
||||
|
||||
kernel_type = copy_mount_string(type);
|
||||
|
|
@ -802,19 +801,14 @@ COMPAT_SYSCALL_DEFINE5(mount, const char __user *, dev_name,
|
|||
if (IS_ERR(kernel_type))
|
||||
goto out;
|
||||
|
||||
dir = getname(dir_name);
|
||||
retval = PTR_ERR(dir);
|
||||
if (IS_ERR(dir))
|
||||
goto out1;
|
||||
|
||||
kernel_dev = copy_mount_string(dev_name);
|
||||
retval = PTR_ERR(kernel_dev);
|
||||
if (IS_ERR(kernel_dev))
|
||||
goto out2;
|
||||
goto out1;
|
||||
|
||||
retval = copy_mount_options(data, &data_page);
|
||||
if (retval < 0)
|
||||
goto out3;
|
||||
goto out2;
|
||||
|
||||
retval = -EINVAL;
|
||||
|
||||
|
|
@ -823,19 +817,17 @@ COMPAT_SYSCALL_DEFINE5(mount, const char __user *, dev_name,
|
|||
do_ncp_super_data_conv((void *)data_page);
|
||||
} else if (!strcmp(kernel_type, NFS4_NAME)) {
|
||||
if (do_nfs4_super_data_conv((void *) data_page))
|
||||
goto out4;
|
||||
goto out3;
|
||||
}
|
||||
}
|
||||
|
||||
retval = do_mount(kernel_dev, dir->name, kernel_type,
|
||||
retval = do_mount(kernel_dev, dir_name, kernel_type,
|
||||
flags, (void*)data_page);
|
||||
|
||||
out4:
|
||||
free_page(data_page);
|
||||
out3:
|
||||
kfree(kernel_dev);
|
||||
free_page(data_page);
|
||||
out2:
|
||||
putname(dir);
|
||||
kfree(kernel_dev);
|
||||
out1:
|
||||
kfree(kernel_type);
|
||||
out:
|
||||
|
|
|
|||
Loading…
Reference in a new issue