Merge tag 'fuse-update-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
[sfrench/cifs-2.6.git] / fs / fuse / ioctl.c
index e50a18ee6cc656a4a3d946336b2a4b7eb9183381..8e01bfdfc4303ae75c081d46640a711a00e073e5 100644 (file)
@@ -419,6 +419,12 @@ static struct fuse_file *fuse_priv_ioctl_prepare(struct inode *inode)
        struct fuse_mount *fm = get_fuse_mount(inode);
        bool isdir = S_ISDIR(inode->i_mode);
 
+       if (!fuse_allow_current_process(fm->fc))
+               return ERR_PTR(-EACCES);
+
+       if (fuse_is_bad(inode))
+               return ERR_PTR(-EIO);
+
        if (!S_ISREG(inode->i_mode) && !isdir)
                return ERR_PTR(-ENOTTY);