Sanitize autofs_dev_ioctl_ismountpoint()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -544,10 +544,9 @@ static int autofs_dev_ioctl_ismountpoint(struct file *fp,
|
|||||||
goto out;
|
goto out;
|
||||||
devid = new_encode_dev(path.mnt->mnt_sb->s_dev);
|
devid = new_encode_dev(path.mnt->mnt_sb->s_dev);
|
||||||
err = 0;
|
err = 0;
|
||||||
if (path.dentry->d_inode &&
|
if (path.mnt->mnt_root == path.dentry) {
|
||||||
path.mnt->mnt_root == path.dentry) {
|
|
||||||
err = 1;
|
err = 1;
|
||||||
magic = path.dentry->d_inode->i_sb->s_magic;
|
magic = path.mnt->mnt_sb->s_magic;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dev_t dev = sbi->sb->s_dev;
|
dev_t dev = sbi->sb->s_dev;
|
||||||
@@ -560,11 +559,9 @@ static int autofs_dev_ioctl_ismountpoint(struct file *fp,
|
|||||||
|
|
||||||
err = have_submounts(path.dentry);
|
err = have_submounts(path.dentry);
|
||||||
|
|
||||||
if (path.mnt->mnt_mountpoint != path.mnt->mnt_root) {
|
|
||||||
if (follow_down(&path))
|
if (follow_down(&path))
|
||||||
magic = path.mnt->mnt_sb->s_magic;
|
magic = path.mnt->mnt_sb->s_magic;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
param->ismountpoint.out.devid = devid;
|
param->ismountpoint.out.devid = devid;
|
||||||
param->ismountpoint.out.magic = magic;
|
param->ismountpoint.out.magic = magic;
|
||||||
|
Reference in New Issue
Block a user