static int __init do_mount_root(char *name, char *fs, int flags, void *data) { struct super_block *s; int err = ksys_mount(name, "/root", fs, flags, data); if (err) return err; ksys_chdir("/root"); s = current->fs->pwd.dentry->d_sb; ROOT_DEV = s->s_dev; printk(KERN_INFO "VFS: Mounted root (%s filesystem)%s on device %u:%u.\n", s->s_type->name, sb_rdonly(s) ? " readonly" : "", MAJOR(ROOT_DEV), MINOR(ROOT_DEV)); return 0; }
SYSCALL_DEFINE1(chdir, const char __user *, filename) { return ksys_chdir(filename); }