flags &= ~(MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_ACTIVE); 
flags &= ~(MS_NOSUID | MS_NOEXEC | MS_NODEV | MS_ACTIVE); 
long do_mount(char * dev_name, char * dir_name, char *type_page,		  unsigned long flags, void *data_page){	struct nameidata nd;	int retval = 0;	int mnt_flags = 0;	/* Discard magic */	if ((flags & MS_MGC_MSK) == MS_MGC_VAL)		flags &= ~MS_MGC_MSK;	/* Basic sanity checks */	if (!dir_name || !*dir_name || !memchr(dir_name, 0, PAGE_SIZE))		return -EINVAL;	if (dev_name && !memchr(dev_name, 0, PAGE_SIZE))		return -EINVAL;	if (data_page)		((char *)data_page)[PAGE_SIZE - 1] = 0;	/* Separate the per-mountpoint flags */	if (flags & MS_NOSUID)		mnt_flags |= MNT_NOSUID;	if (flags & MS_NODEV)		mnt_flags |= MNT_NODEV;	if (flags & MS_NOEXEC)		mnt_flags |= MNT_NOEXEC;	flags &= ~(MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_ACTIVE);	/* ... and get the mountpoint */	retval = path_lookup(dir_name, LOOKUP_FOLLOW, &nd);	if (retval)		return retval;	retval = security_sb_mount(dev_name, &nd, type_page, flags, data_page);	if (retval)		goto dput_out;	if (flags & MS_REMOUNT)		retval = do_remount(&nd, flags & ~MS_REMOUNT, mnt_flags,				    data_page);	else if (flags & MS_BIND)		retval = do_loopback(&nd, dev_name, flags & MS_REC);	else if (flags & MS_MOVE)		retval = do_move_mount(&nd, dev_name);	else		retval = do_new_mount(&nd, type_page, flags, mnt_flags,				      dev_name, data_page);dput_out:	path_release(&nd);	return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b58fed8b1959d6b9e4c951a54adc8960e1401b18/namespace.c/buggy/fs/namespace.c