Index: FreeBSD-EN-23:16.openzfs
===================================================================
--- /dev/null
+++ FreeBSD-EN-23:16.openzfs
@@ -0,0 +1,145 @@
+=============================================================================
+FreeBSD-EN-23:16.openzfs Errata Notice
+ The FreeBSD Project
+
+Topic: OpenZFS data corruption
+
+Category: contrib
+Module: OpenZFS
+Announced: 2023-XX-XX
+Affects: FreeBSD 13.2 and FreeBSD 14.0.
+Corrected: 2023-XX-XX XX:XX:XX UTC (stable/14, 14.0-STABLE)
+ 2023-XX-XX XX:XX:XX UTC (releng/14.0, 14.0-RELEASE-pXX)
+ 2023-XX-XX XX:XX:XX UTC (stable/13, 13.2-STABLE)
+ 2023-XX-XX XX:XX:XX UTC (releng/13.2, 13.2-RELEASE-pXX)
+ 2023-XX-XX XX:XX:XX UTC (stable/12, 12.4-STABLE)
+ 2023-XX-XX XX:XX:XX UTC (releng/12.4, 12.4-RELEASE-pXX)
+
+For general information regarding FreeBSD Errata Notices and Security
+Advisories, including descriptions of the fields above, security
+branches, and the following sections, please visit
+.
+
+I. Background
+
+FreeBSD has included a version of the powerful and feature-rich ZFS file
+system beginning with FreeBSD 7.0 released in 2008. In FreeBSD 13 and
+later OpenZFS is used as the ZFS implementation.
+
+Sparse files in a file system refer to a technique that optimizes
+storage space by allowing the creation of files with unallocated or
+unwritten gaps, known as holes.
+
+II. Problem Description
+
+Under certain specific conditions a hole may incorrectly appear where
+data should exist, if accessed during a very small window of time while
+a file is being modified. The data will instead be read as zero bytes.
+
+III. Impact
+
+Blocks of zero bytes may incorrectly appear while reading a file. If
+this occurs during a file copy it will result in a corrupt copy that
+retains those zero bytes.
+
+IV. Workaround
+
+Setting the vfs.zfs.dmu_offset_next_sync sysctl to 0 disables forcing
+TXG sync to find holes. This is an effective workaround that greatly
+reduces the liklihood of encountering data corruption, although it does
+not completely eliminate it. Note that with the workaround holes will
+not be reported in recently dirtied files. See the zfs(4) man page for
+more information.
+
+V. Solution
+
+Upgrade your system to a supported FreeBSD stable or release / security
+branch (releng) dated after the correction date, and reboot.
+
+Perform one of the following:
+
+1) To update your system via a binary patch:
+
+Systems running a RELEASE version of FreeBSD on the amd64 or arm64 platforms,
+or the i386 platfrom on FreeBSD 13 and earlier, can be updated via
+the freebsd-update(8) utility:
+
+# freebsd-update fetch
+# freebsd-update install
+# shutdown -r +10min "Rebooting to apply OpenZFS erratum update"
+
+2) To update your system via a source code patch:
+
+The following patches have been verified to apply to the applicable
+FreeBSD release branches.
+
+a) Download the relevant patch from the location below, and verify the
+detached PGP signature using your PGP utility.
+
+[FreeBSD 14.0]
+# fetch https://security.FreeBSD.org/patches/EN-23:16/openzfs.14.patch
+# fetch https://security.FreeBSD.org/patches/EN-23:16/openzfs.14.patch.asc
+# gpg --verify openzfs.14.patch.asc
+
+[FreeBSD 13.2]
+# fetch https://security.FreeBSD.org/patches/EN-23:16/openzfs.13.patch
+# fetch https://security.FreeBSD.org/patches/EN-23:16/openzfs.13.patch.asc
+# gpg --verify openzfs.13.patch.asc
+
+b) Apply the patch. Execute the following commands as root:
+
+# cd /usr/src
+# patch < /path/to/patch
+
+c) Recompile your kernel as described in
+ and reboot the
+system.
+
+VI. Correction details
+
+This issue is corrected as of the corresponding Git commit hash or Subversion
+revision number in the following stable and release branches:
+
+Branch/path Hash Revision
+-------------------------------------------------------------------------
+stable/14/ 99385ec7c296 stable/14-nXXXXXX
+releng/14.0/ XXXXXXXXXXXX releng/14.0-nXXXXXX
+stable/13/ 5858f93a8b66 stable/13-nXXXXXX
+releng/13.2/ XXXXXXXXXXXX releng/13.2-nXXXXXX
+-------------------------------------------------------------------------
+
+For FreeBSD 13 and later:
+
+Run the following command to see which files were modified by a
+particular commit:
+
+# git show --stat
+
+Or visit the following URL, replacing NNNNNN with the hash:
+
+
+
+To determine the commit count in a working tree (for comparison against
+nNNNNNN in the table above), run:
+
+# git rev-list --count --first-parent HEAD
+
+For FreeBSD 12 and earlier:
+
+Run the following command to see which files were modified by a particular
+revision, replacing NNNNNN with the revision number:
+
+# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
+
+Or visit the following URL, replacing NNNNNN with the revision number:
+
+
+
+VII. References
+
+
+
+
+
+The latest revision of this advisory is available at
+