David Howells <dhowells@xxxxxxxxxx> wrote: > I should probably check that the picked point is actually a mountpoint. The root of the mount object at the path specified, that is, perhaps with something like the attached. David --- diff --git a/fs/fsopen.c b/fs/fsopen.c index f673e93ac456..aaaaa17a233c 100644 --- a/fs/fsopen.c +++ b/fs/fsopen.c @@ -186,6 +186,10 @@ SYSCALL_DEFINE3(fspick, int, dfd, const char __user *, path, unsigned int, flags if (ret < 0) goto err; + ret = -EINVAL; + if (target.mnt->mnt_root != target.dentry) + goto err_path; + fc = vfs_new_fs_context(target.dentry->d_sb->s_type, target.dentry, 0, 0, FS_CONTEXT_FOR_RECONFIGURE); if (IS_ERR(fc)) {