Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01e0fe0b authored by Al Viro's avatar Al Viro
Browse files

usbfs: kill racy detection of simple_pin_fs()



can check MS_KERNMOUNT in flags now

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 2452992a
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -50,7 +50,6 @@
static const struct file_operations default_file_operations;
static struct vfsmount *usbfs_mount;
static int usbfs_mount_count;	/* = 0 */
static int ignore_mount = 0;

static struct dentry *devices_usbfs_dentry;
static int num_buses;	/* = 0 */
@@ -256,7 +255,7 @@ static int remount(struct super_block *sb, int *flags, char *data)
	 * i.e. it's a simple_pin_fs from create_special_files,
	 * then ignore it.
	 */
	if (ignore_mount)
	if (*flags & MS_KERNMOUNT)
		return 0;

	if (parse_options(sb, data)) {
@@ -582,11 +581,6 @@ static int create_special_files (void)
	struct dentry *parent;
	int retval;

	/* the simple_pin_fs calls will call remount with no options
	 * without this flag that would overwrite the real mount options (if any)
	 */
	ignore_mount = 1;

	/* create the devices special file */
	retval = simple_pin_fs(&usb_fs_type, &usbfs_mount, &usbfs_mount_count);
	if (retval) {
@@ -594,8 +588,6 @@ static int create_special_files (void)
		goto exit;
	}

	ignore_mount = 0;

	parent = usbfs_mount->mnt_root;
	devices_usbfs_dentry = fs_create_file ("devices",
					       listmode | S_IFREG, parent,