opnsense-src/tests/sys/fs/fusefs
Alan Somers bfcb817bcd Fix issues with FUSE_ACCESS when default_permissions is disabled
This patch fixes two issues relating to FUSE_ACCESS when the
default_permissions mount option is disabled:

* VOP_ACCESS() calls with VADMIN set should never be sent to a fuse server
  in the form of FUSE_ACCESS operations. The FUSE protocol has no equivalent
  of VADMIN, so we must evaluate such things kernel-side, regardless of the
  default_permissions setting.

* The FUSE protocol only requires FUSE_ACCESS to be sent for two purposes:
  for the access(2) syscall and to check directory permissions for
  searchability during lookup. FreeBSD sends it much more frequently, due to
  differences between our VFS and Linux's, for which FUSE was designed. But
  this patch does eliminate several cases not required by the FUSE protocol:

  * for any FUSE_*XATTR operation
  * when creating a new file
  * when deleting a file
  * when setting timestamps, such as by utimensat(2).

* Additionally, when default_permissions is disabled, this patch removes one
  FUSE_GETATTR operation when deleting a file.

PR:		245689
Reported by:	MooseFS FreeBSD Team <freebsd@moosefs.pro>
Reviewed by:	cem
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D24777
2020-05-22 18:11:17 +00:00
..
access.cc Fix issues with FUSE_ACCESS when default_permissions is disabled 2020-05-22 18:11:17 +00:00
allow_other.cc fusefs: coverity cleanup in the tests 2019-09-06 19:50:45 +00:00
bmap.cc fusefs: coverity cleanup in the tests 2019-09-06 19:50:45 +00:00
cache.cc fusefs: avoid cache corruption with buggy fuse servers 2020-03-11 04:29:45 +00:00
create.cc fusefs: fix some minor Coverity CIDs in the tests 2019-09-16 15:44:59 +00:00
default_permissions.cc fusefs: fix two small bugs in the tests' expectations 2020-05-08 23:00:02 +00:00
default_permissions_privileged.cc fusefs: fix two small bugs in the tests' expectations 2020-05-08 23:00:02 +00:00
destroy.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
dev_fuse_poll.cc fusefs: coverity cleanup in the tests 2019-09-06 19:50:45 +00:00
fifo.cc fusefs: coverity cleanup in the tests 2019-09-06 19:50:45 +00:00
flush.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
forget.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
fsync.cc fusefs: fix fsync for files with multiple open handles 2020-03-09 01:57:21 +00:00
fsyncdir.cc fusefs: skip some tests when unsafe aio is disabled 2019-08-13 15:52:28 +00:00
getattr.cc fusefs: fix intermittency in some ENOENT tests 2020-05-18 18:36:32 +00:00
interrupt.cc fusefs: coverity cleanup in the tests 2019-09-06 19:50:45 +00:00
io.cc fusefs: avoid cache corruption with buggy fuse servers 2020-03-11 04:29:45 +00:00
link.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
locks.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
lookup.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
Makefile fusefs: avoid cache corruption with buggy fuse servers 2020-03-11 04:29:45 +00:00
mkdir.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
mknod.cc fusefs: initialize C++ classes the Coverity way 2019-09-16 15:56:21 +00:00
mockfs.cc fusefs: Fix iosize for FUSE_WRITE in 7.8 compat mode 2019-09-11 19:29:40 +00:00
mockfs.hh fusefs: Fix iosize for FUSE_WRITE in 7.8 compat mode 2019-09-11 19:29:40 +00:00
mount.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
nfs.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
notify.cc [skip ci] fix typo in comment in the fusefs tests 2020-03-09 00:14:09 +00:00
open.cc fusefs: fix intermittency in some ENOENT tests 2020-05-18 18:36:32 +00:00
opendir.cc fusefs: fix intermittency in some ENOENT tests 2020-05-18 18:36:32 +00:00
read.cc fusefs: fix some memory leaks in the tests. 2020-02-12 18:11:07 +00:00
readdir.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
readlink.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
release.cc fusefs: coverity cleanup in the tests 2019-09-06 19:50:45 +00:00
releasedir.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
rename.cc Fix issues with FUSE_ACCESS when default_permissions is disabled 2020-05-22 18:11:17 +00:00
rmdir.cc Fix issues with FUSE_ACCESS when default_permissions is disabled 2020-05-22 18:11:17 +00:00
setattr.cc tests: fusefs: silence remaining unsigned/signed comparison warnings 2020-01-10 21:51:27 +00:00
statfs.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
symlink.cc fusefs: add SVN Keywords to the test files 2019-08-13 15:49:40 +00:00
unlink.cc Fix issues with FUSE_ACCESS when default_permissions is disabled 2020-05-22 18:11:17 +00:00
utils.cc Fix issues with FUSE_ACCESS when default_permissions is disabled 2020-05-22 18:11:17 +00:00
utils.hh Fix issues with FUSE_ACCESS when default_permissions is disabled 2020-05-22 18:11:17 +00:00
write.cc fusefs: fix some memory leaks in the tests. 2020-02-12 18:11:07 +00:00
xattr.cc Fix issues with FUSE_ACCESS when default_permissions is disabled 2020-05-22 18:11:17 +00:00