diff options
Diffstat (limited to 'init/do_mounts.c')
| -rw-r--r-- | init/do_mounts.c | 14 | 
1 files changed, 12 insertions, 2 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c index 42b0707c348..d3f0aeed2d3 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -1,3 +1,13 @@ +/* + * Many of the syscalls used in this file expect some of the arguments + * to be __user pointers not __kernel pointers.  To limit the sparse + * noise, turn off sparse checking for this file. + */ +#ifdef __CHECKER__ +#undef __CHECKER__ +#warning "Sparse checking disabled for this file" +#endif +  #include <linux/module.h>  #include <linux/sched.h>  #include <linux/ctype.h> @@ -330,7 +340,7 @@ static int __init do_mount_root(char *name, char *fs, int flags, void *data)  	if (err)  		return err; -	sys_chdir((const char __user __force *)"/root"); +	sys_chdir("/root");  	s = current->fs->pwd.dentry->d_sb;  	ROOT_DEV = s->s_dev;  	printk(KERN_INFO @@ -556,5 +566,5 @@ void __init prepare_namespace(void)  out:  	devtmpfs_mount("dev");  	sys_mount(".", "/", NULL, MS_MOVE, NULL); -	sys_chroot((const char __user __force *)"."); +	sys_chroot(".");  }  |