OPNsense - FreeBSD source
Find a file
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
bin sh: Remove a comment that was obsoleted by r358152 2020-05-22 14:46:23 +00:00
cddl Restore the binary compatibility for link_map l_addr. 2020-05-21 22:24:23 +00:00
contrib ctime.3: Use ASCII asterisks for C, not special unicode math glyphs 2020-05-22 15:30:14 +00:00
crypto Merge OpenSSL 1.1.1g. 2020-04-21 19:38:32 +00:00
etc Introduce nexthop objects and new routing KPI. 2020-04-12 14:30:00 +00:00
gnu binutils: disconnect objdump from the build 2020-05-06 18:38:40 +00:00
include Implement RTLD_DEEPBIND. 2020-05-15 11:58:01 +00:00
kerberos5 Update Makefile.depend files 2019-12-11 17:37:53 +00:00
lib Implement Solaris-like link_map l_refname member. 2020-05-22 17:52:09 +00:00
libexec Implement Solaris-like link_map l_refname member. 2020-05-22 17:52:09 +00:00
release pkgbase: use -dev,-dbg instead of -development,-debug 2020-05-20 19:45:22 +00:00
rescue rescue: Remove useless linking with libl 2020-03-24 07:08:02 +00:00
sbin Deduplicate fsid comparisons 2020-05-21 01:55:35 +00:00
secure Remove support for SSLv3 from the OpenSSL build. 2020-05-22 16:53:39 +00:00
share Improve support for stream ciphers in the software encryption interface. 2020-05-22 16:29:09 +00:00
stand Fix libstand build breakage after r361298. 2020-05-20 22:25:41 +00:00
sys Fix issues with FUSE_ACCESS when default_permissions is disabled 2020-05-22 18:11:17 +00:00
targets libalias: retire cuseeme support 2020-05-16 02:29:10 +00:00
tests Fix issues with FUSE_ACCESS when default_permissions is disabled 2020-05-22 18:11:17 +00:00
tools Update GNU_DIFF knob descriptions 2020-05-20 17:20:48 +00:00
usr.bin indent(1): add fallthrough markers 2020-05-21 17:34:31 +00:00
usr.sbin Add an unprivileged mode where calls to install are passed appropriate 2020-05-22 17:45:07 +00:00
.arcconfig callsign isn't required anymore 2016-09-29 06:19:45 +00:00
.arclint arc lint: ignore /tests/ in chmod 2017-12-19 03:38:06 +00:00
.cirrus.yml Cirrus-CI: increase timeout to 120m 2020-02-19 15:56:40 +00:00
.clang-format Add a basic clang-format configuration file 2019-06-07 15:23:52 +00:00
.gitattributes Add a basic clang-format configuration file 2019-06-07 15:23:52 +00:00
.gitignore Import the kyua testing framework for infrastructure software 2020-03-17 16:56:50 +00:00
COPYRIGHT Happy New Year 2020! 2019-12-31 16:01:36 +00:00
LOCKS LOCKS: update current locks 2018-06-09 03:08:04 +00:00
MAINTAINERS Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
Makefile Import bmake-20200517 2020-05-20 19:34:48 +00:00
Makefile.inc1 pkgbase: use -dev,-dbg instead of -development,-debug 2020-05-20 19:45:22 +00:00
Makefile.libcompat Stop building libl and liby 2020-03-26 08:23:09 +00:00
Makefile.sys.inc AUTO_OBJ: For all top-level targets enforce using an OBJDIR. 2017-12-05 21:29:47 +00:00
ObsoleteFiles.inc libalias: retire cuseeme support 2020-05-16 02:29:10 +00:00
README Import OpenSSL 1.1.1g. 2020-04-21 19:07:46 +00:00
README.md Update vendor/libarchive/dist to git fc6563f5130d8a7ee1fc27c0e55baef35119f26c 2020-05-20 16:13:02 +00:00
RELNOTES Mention new jail(8) command hooks in RELNOTES 2020-05-19 18:41:46 +00:00
UPDATING UPDATING: Fix the date of the closefrom(2) entry 2020-04-24 12:57:03 +00:00

FreeBSD Source:

This is the top level of the FreeBSD source directory. This file was last revised on: FreeBSD

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html, and https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html for more information, including setting make(1) variables.

Source Roadmap:

bin		System/user commands.

cddl		Various commands and libraries under the Common Development
		and Distribution License.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

stand		Boot loader sources.

sys		Kernel sources.

sys/<arch>/conf Kernel configuration files. GENERIC is the configuration
		used in release builds. NOTES contains documentation of
		all possible entries.

tests		Regression tests which can be run by Kyua.  See tests/README
		for additional information.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html