Commit d4440aac authored by Dominik Brodowski's avatar Dominik Brodowski

initrd: use do_mount() instead of ksys_mount()

All three calls to ksys_mount() in initrd-related kernel code can
be switched over to do_mount():
- the first and third arguments are const strings in the kernel,
  and do not need to be copied over from userspace;
- the fifth argument is NULL, and therefore no page needs to be,
  copied over from userspace;
- the second and fourth argument are passed through anyway.
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent 5e787dbf
...@@ -54,7 +54,7 @@ static int init_linuxrc(struct subprocess_info *info, struct cred *new) ...@@ -54,7 +54,7 @@ static int init_linuxrc(struct subprocess_info *info, struct cred *new)
ksys_dup(0); ksys_dup(0);
/* move initrd over / and chdir/chroot in initrd root */ /* move initrd over / and chdir/chroot in initrd root */
ksys_chdir("/root"); ksys_chdir("/root");
ksys_mount(".", "/", NULL, MS_MOVE, NULL); do_mount(".", "/", NULL, MS_MOVE, NULL);
ksys_chroot("."); ksys_chroot(".");
ksys_setsid(); ksys_setsid();
return 0; return 0;
...@@ -89,7 +89,7 @@ static void __init handle_initrd(void) ...@@ -89,7 +89,7 @@ static void __init handle_initrd(void)
current->flags &= ~PF_FREEZER_SKIP; current->flags &= ~PF_FREEZER_SKIP;
/* move initrd to rootfs' /old */ /* move initrd to rootfs' /old */
ksys_mount("..", ".", NULL, MS_MOVE, NULL); do_mount("..", ".", NULL, MS_MOVE, NULL);
/* switch root and cwd back to / of rootfs */ /* switch root and cwd back to / of rootfs */
ksys_chroot(".."); ksys_chroot("..");
...@@ -103,7 +103,7 @@ static void __init handle_initrd(void) ...@@ -103,7 +103,7 @@ static void __init handle_initrd(void)
mount_root(); mount_root();
printk(KERN_NOTICE "Trying to move old root to /initrd ... "); printk(KERN_NOTICE "Trying to move old root to /initrd ... ");
error = ksys_mount("/old", "/root/initrd", NULL, MS_MOVE, NULL); error = do_mount("/old", "/root/initrd", NULL, MS_MOVE, NULL);
if (!error) if (!error)
printk("okay\n"); printk("okay\n");
else { else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment