I am trying to open a FIFO for which permissions doesn't exists for the uid trying to open a file in FUSE(filesystem). I know that for FIFO open call will not come to FUSE and directly handled by kernel, but FUSE open call does the permission checks from fuse_context. How, is it possible, that permission can be denied because the call is not coming in FUSE. I have a stack trace for open system call for BLOCKING open for FIFO. Here after dentry_open we got to fifo_open in kernel, without going to fuse.
pipe_wait+0x61/0xa0
wait_for_partner+0x30/0x60
fifo_open+0x195/0x2d0
do_dentry_open+0x233/0x2e0
vfs_open+0x49/0x50
do_last+0x562/0x1370
path_openat+0xbb/0x670
do_filp_open+0x3a/0x90
do_sys_open+0x129/0x2a0
But for other file type, we get open call inside FUSE.
fuse_open+0x10/0x20
do_dentry_open+0x233/0x2e0
vfs_open+0x49/0x50
do_last+0x562/0x1370
path_openat+0xbb/0x670
do_filp_open+0x3a/0x90
do_sys_open+0x129/0x2a0
Is it possible, that the permission checks can be done for FIFO files managed by FUSE while opening. If not, how is it possible to deny permissions for FIFO opened by users not having FIFO write permissions in FUSE. If this a bug, is it in libfuse or kernel.
I am trying to open a FIFO for which permissions doesn't exists for the uid trying to open a file in FUSE(filesystem). I know that for FIFO open call will not come to FUSE and directly handled by kernel, but FUSE open call does the permission checks from fuse_context. How, is it possible, that permission can be denied because the call is not coming in FUSE. I have a stack trace for open system call for BLOCKING open for FIFO. Here after dentry_open we got to fifo_open in kernel, without going to fuse.
pipe_wait+0x61/0xa0wait_for_partner+0x30/0x60fifo_open+0x195/0x2d0do_dentry_open+0x233/0x2e0vfs_open+0x49/0x50do_last+0x562/0x1370path_openat+0xbb/0x670do_filp_open+0x3a/0x90do_sys_open+0x129/0x2a0But for other file type, we get open call inside FUSE.
fuse_open+0x10/0x20do_dentry_open+0x233/0x2e0vfs_open+0x49/0x50do_last+0x562/0x1370path_openat+0xbb/0x670do_filp_open+0x3a/0x90do_sys_open+0x129/0x2a0Is it possible, that the permission checks can be done for FIFO files managed by FUSE while opening. If not, how is it possible to deny permissions for FIFO opened by users not having FIFO write permissions in FUSE. If this a bug, is it in libfuse or kernel.