OpenZFS on Linux and FreeBSD
Go to file
Andrew Walker 8503a85e06 Fix access check when cred allows override of ACL
Properly evaluate edge cases where user credential may grant capability
to override DAC in various situations. Switch to using ns-aware checks
rather than capable().

Expand optimization allow bypass of zfs_zaccess() in case of trivial
ACL if MAY_OPEN is included in requested mask. This will be evaluated
in generic_permission() check, which is RCU walk safe. This means that
in most cases evaluating permissions on boot volume with NFSv4 ACLs
will follow the fast path on checking inode permissions.

Additionally, CAP_SYS_ADMIN is granted to nfsd process, and so override
for this capability in access2 policy check is removed in favor of a
simple check for fsid == 0. Checks for CAP_DAC_OVERRIDE and other
override capabilities are kept as-is.

Signed-off-by: Andrew Walker <awalker@ixsystems.com>
2023-06-21 02:51:24 +05:00
.github Add action to build and push docker image on master update 2023-06-21 00:33:20 +05:00
cmd Adjust zfsd Makefiles for openzfs compatibility 2023-06-21 02:51:15 +05:00
config Add zfsd for FreeBSD 2023-06-21 00:33:40 +05:00
contrib Write /sys/kernel/wait_for_device_probe before import. 2023-06-21 02:51:24 +05:00
etc Adjust zfsd Makefiles for openzfs compatibility 2023-06-21 02:51:15 +05:00
include Adjust zfsd Makefiles for openzfs compatibility 2023-06-21 02:51:15 +05:00
lib Finally drop long disabled vdev cache. 2023-06-09 12:40:55 -07:00
man Make acltype=nfsv4 the default on Linux, too 2023-06-21 02:51:24 +05:00
module Fix access check when cred allows override of ACL 2023-06-21 02:51:24 +05:00
rpm rpm: Use libtirpc-devel and /usr/lib on SUSE 2023-02-09 11:57:50 -08:00
scripts Fix kmodtool for packaging mainline Linux 2023-03-22 09:22:52 -07:00
tests Make acltype=nfsv4 the default on Linux, too 2023-06-21 02:51:24 +05:00
udev Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
.editorconfig Add an .editorconfig; document git whitespace settings 2020-01-27 13:32:52 -08:00
.gitignore Implement NFSv41 ACLs through xattr 2023-06-21 00:33:32 +05:00
.gitmodules .gitmodules: link to openzfs github repository 2021-04-12 09:37:23 -07:00
AUTHORS zfs_rename: support RENAME_* flags 2022-10-28 09:49:20 -07:00
CODE_OF_CONDUCT.md Documentation corrections 2022-12-22 11:34:28 -08:00
COPYRIGHT Fix typos 2020-06-09 21:24:09 -07:00
LICENSE Update build system and packaging 2018-05-29 16:00:33 -07:00
META Linux 6.3 compat: META (#14930) 2023-06-05 11:08:24 -07:00
Makefile.am Adjust zfsd Makefiles for openzfs compatibility 2023-06-21 02:51:15 +05:00
NEWS Fix NEWS file 2020-08-26 21:44:41 -07:00
NOTICE Update build system and packaging 2018-05-29 16:00:33 -07:00
README.md README: Update OpenZFS website url 2022-01-06 16:25:01 -08:00
RELEASES.md Add RELEASES.md file 2021-04-02 16:33:40 -07:00
TEST Remove CI builder customization from TEST 2020-03-16 10:46:03 -07:00
autogen.sh Ubuntu 22.04 integration: ShellCheck 2022-11-18 11:24:48 -08:00
configure.ac Add zfsd for FreeBSD 2023-06-21 00:33:40 +05:00
copy-builtin copy-builtin: add hooks with sed/>> 2022-05-10 10:17:43 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.md

img

OpenZFS is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community. This repository contains the code for running OpenZFS on Linux and FreeBSD.

codecov coverity

Official Resources

Installation

Full documentation for installing OpenZFS on your favorite operating system can be found at the Getting Started Page.

Contribute & Develop

We have a separate document with contribution guidelines.

We have a Code of Conduct.

Release

OpenZFS is released under a CDDL license. For more details see the NOTICE, LICENSE and COPYRIGHT files; UCRL-CODE-235197

Supported Kernels

  • The META file contains the officially recognized supported Linux kernel versions.
  • Supported FreeBSD versions are any supported branches and releases starting from 12.2-RELEASE.