Go to file
Alexander Moch e7f9734bc7 Zstd: Fix ASan poisoning for pooled Zstd contexts
The Zstd context mempool can reuse buffers that were previously poisoned
under AddressSanitizer, leading to false-positive use-after-poison reports
during zloop and other stress tests.

Explicitly unpoison memory when handing buffers out to Zstd and poison the
user-visible region again when buffers are returned to the pool. This makes
the allocator ASan-correct while preserving existing pooling behavior.

Also fix non-standard void * pointer arithmetic in zstd_free() and remove an
early return in zstd_dctx_alloc() so kmem_type/kmem_size are always set on
pool hits.

This only affects ASan bookkeeping in user space, does not change runtime
behavior in non-ASan configurations, and does not affect on-disk formats.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Moch <mail@alexmoch.com>
Closes #18089
2026-01-20 13:41:12 -08:00
.github CI: Add Alpine Linux 3.23 runner to the pipeline (#18087) 2025-12-30 09:29:48 -08:00
cmd build: add SPDX license tags to build system files 2026-01-08 15:08:03 -08:00
config build: add SPDX license tags to build system files 2026-01-08 15:08:03 -08:00
contrib build: add SPDX license tags to build system files 2026-01-08 15:08:03 -08:00
etc build: add SPDX license tags to build system files 2026-01-08 15:08:03 -08:00
include DDT: Add locking for table ZAP destruction 2026-01-13 15:07:15 -08:00
lib Zstd: Integrate v1.5.7 into the ZFS build system 2026-01-20 13:41:06 -08:00
man build: add SPDX license tags to build system files 2026-01-08 15:08:03 -08:00
module Zstd: Fix ASan poisoning for pooled Zstd contexts 2026-01-20 13:41:12 -08:00
rpm build: add SPDX license tags to build system files 2026-01-08 15:08:03 -08:00
scripts spdxcheck: enforce SPDX license tags on build system files 2026-01-08 15:08:32 -08:00
tests FreeBSD: unbreak compilation on i386 2026-01-14 17:02:41 -08:00
udev build: add SPDX license tags to build system files 2026-01-08 15:08:03 -08:00
.editorconfig Add an .editorconfig; document git whitespace settings 2020-01-27 13:32:52 -08:00
.gitignore Packaging: Auto-generate changelog during configure (#15528) 2023-11-16 08:58:47 -08:00
.gitmodules .gitmodules: link to openzfs github repository 2021-04-12 09:37:23 -07:00
.mailmap mailmap/AUTHORS: update with recent new contributors 2025-10-22 09:27:54 -07:00
AUTHORS mailmap/AUTHORS: update with recent new contributors 2025-10-22 09:27:54 -07:00
autogen.sh build: add SPDX license tags to build system files 2026-01-08 15:08:03 -08:00
CODE_OF_CONDUCT.md Documentation corrections 2022-12-22 11:34:28 -08:00
configure.ac Linux build: handle CONFIG_OBJTOOL_WERROR=y 2025-06-16 08:12:09 -07:00
copy-builtin copy-builtin: add hooks with sed/>> 2022-05-10 10:17:43 -07: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
Makefile.am Zstd: Integrate v1.5.7 into the ZFS build system 2026-01-20 13:41:06 -08:00
META Linux 6.18 compat: META (#18039) 2025-12-10 09:04:24 -08: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 Fix capitalization typo in README.md 2025-11-03 16:37:58 -08:00
RELEASES.md Update RELEASES.md LTS release to 2.2 2025-01-17 11:04:36 -05:00
TEST Remove CI builder customization from TEST 2020-03-16 10:46:03 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

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 13.0-RELEASE.