** Changed in: zfs-linux (Ubuntu)
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to zfs-linux in Ubuntu.
https://bugs.launchpad.net/bugs/1946686

Title:
  Fix zfs_get_data access to files with wrong generation causing panics

Status in zfs-linux package in Ubuntu:
  Fix Released
Status in zfs-linux source package in Focal:
  Fix Committed
Status in zfs-linux source package in Hirsute:
  Fix Committed
Status in zfs-linux source package in Impish:
  Fix Released

Bug description:
  == SRU Focal/Hirsute ==

  [Impact]

  ZFS: Fix a panic while acquiring a lock.

  If TX_WRITE is create on a file, and the file is later deleted and a new
  directory is created on the same object id, it is possible that when
  zil_commit happens, zfs_get_data will be called on the new directory.
  This may result in panic as it tries to do range lock. 

  Upstream ZFS bug #10593, #11682, upstream fix:

  commit 296a4a369bc1078a694f88570972330985b3b1b8
  Author: Chunwei Chen <tux...@gmail.com>
  Date: Fri Mar 19 22:53:31 2021 -0700

      Fix zfs_get_data access to files with wrong generation

  This patch fixes this issue by record the generation number during
  zfs_log_write, so zfs_get_data can check if the object is valid.

  The fix is already in Ubuntu ZFS 2.0.6 in Impish. The fix is a
  relatively simple backport with only minor backporting effort required
  in moving some of the module specific upstream changes into the pre-
  renamed module specific os specific parts of the ZFS module.

  [Test Plan]

  This is difficult to reproduce, see
  https://github.com/openzfs/zfs/issues/10593

  The fix has been tested with the complete ubuntu autotest ZFS
  regression tests that exercise ZFS core functionality (smoke tests),
  file system POSIX compliance (fs tests), extra XFS tests and every
  mount option with stress-ng file I/O stress tests.

  [Where problems could occur]

  This fix could regress the ZIL (ZFS intent log) commit writes since it
  modifies this code to now checks for generation numbers. Testing with
  ZFS autotests with intent logs have not found any regressions, but
  there is a risk that the ZIL functionality is affected. This could
  lead to corruption.

  ------

  As mentioned at https://answers.launchpad.net/ubuntu/+source/zfs-
  linux/+question/696659, the following pull request fixes a panic
  acquiring a lock: https://github.com/openzfs/zfs/pull/11682

  This fix does not appear to be a part of the latest Ubuntu 20.04
  release:

  zfsutils-linux:
    Installed: 0.8.3-1ubuntu12.12
    Candidate: 0.8.3-1ubuntu12.12
    Version table:
   *** 0.8.3-1ubuntu12.12 500
          500 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
          100 /var/lib/dpkg/status
       0.8.3-1ubuntu12.9 500
          500 http://security.ubuntu.com/ubuntu focal-security/main amd64 
Packages
       0.8.3-1ubuntu12 500
          500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

  Of note is this issue where the bug is reported against the Ubuntu
  0.8.3 packages: https://github.com/openzfs/zfs/issues/10642

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1946686/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to