OpenZFS on Linux and FreeBSD
Go to file
Alexander Motin 5ff2249fa5 Fix use-after-free in case of L2ARC prefetch failure
In case L2ARC read failed, l2arc_read_done() creates _different_ ZIO
to read data from the original storage device.  Unfortunately pointer
to the failed ZIO remains in hdr->b_l1hdr.b_acb->acb_zio_head, and if
some other read try to bump the ZIO priority, it will crash.

The problem is reproducible by corrupting L2ARC content and reading
some data with prefetch if l2arc_noprefetch tunable is changed to 0.
With the default setting the issue is probably not reproducible now.

Reviewed-by: Tom Caputi <tcaputi@datto.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored-By: iXsystems, Inc.
Closes #9648
2019-12-03 09:59:30 -08:00
.github Fix typos 2019-09-02 18:17:39 -07:00
cmd Add FreeBSD code to arc_summary and arcstat 2019-11-30 15:43:23 -08:00
config Remove zfs_vdev_elevator module option 2019-11-27 10:35:49 -08:00
contrib Skip loading already loaded key 2019-11-08 14:34:07 -08:00
etc Fix encryption logic in systemd mount generator 2019-11-27 10:54:49 -08:00
include Move linux qsort def to platform header 2019-12-03 09:49:40 -08:00
lib Increase allowed 'special_small_blocks' maximum value 2019-12-03 09:58:03 -08:00
man Increase allowed 'special_small_blocks' maximum value 2019-12-03 09:58:03 -08:00
module Fix use-after-free in case of L2ARC prefetch failure 2019-12-03 09:59:30 -08:00
rpm Canonicalize Python shebangs 2019-09-12 13:32:32 -07:00
scripts Move platform independent tests to a shared runfile 2019-10-09 10:39:26 -07:00
tests Increase allowed 'special_small_blocks' maximum value 2019-12-03 09:58:03 -08:00
udev Restore :: in Makefile.am 2019-08-26 11:48:31 -07:00
.gitignore Adapt gitignore for modules 2019-12-02 13:23:47 -08:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
.travis.yml Add .travis.yml 2017-11-13 09:18:18 -08:00
AUTHORS Update build system and packaging 2018-05-29 16:00:33 -07:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md 2019-04-30 10:58:45 -07:00
COPYRIGHT OpenZFS restructuring - move platform specific sources 2019-09-06 11:26:26 -07:00
LICENSE Update build system and packaging 2018-05-29 16:00:33 -07:00
META Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
Makefile.am Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
NEWS Add NEWS file 2018-09-18 12:03:47 -07:00
NOTICE Update build system and packaging 2018-05-29 16:00:33 -07:00
README.md Explicitly state supported Linux versions 2018-05-30 20:11:19 -07:00
TEST Update build system and packaging 2018-05-29 16:00:33 -07:00
autogen.sh Cause autogen.sh to fail if autoreconf fails 2018-07-06 09:27:37 -07:00
configure.ac Prevent unnecessary resilver restarts 2019-11-27 10:15:01 -08:00
copy-builtin copy-builtin: SPL must be in Kbuild first (again) 2019-09-11 11:09:50 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.md

img

ZFS on Linux is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community.

codecov coverity

Official Resources

Installation

Full documentation for installing ZoL on your favorite Linux distribution can be found at our site.

Contribute & Develop

We have a separate document with contribution guidelines.

Release

ZFS on Linux 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 kernel versions.