I've uploaded the packages for SRU, I won't be around to handle the rest
of the SRU process though.

** Description changed:

+ == 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
+   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

** Changed in: zfs-linux (Ubuntu Impish)
     Assignee: (unassigned) => Colin Ian King (colin-king)

** Changed in: zfs-linux (Ubuntu Impish)
     Assignee: Colin Ian King (colin-king) => (unassigned)

** Changed in: zfs-linux (Ubuntu Impish)
     Assignee: (unassigned) => Dimitri John Ledkov (xnox)

** Changed in: zfs-linux (Ubuntu Hirsute)
     Assignee: Colin Ian King (colin-king) => Dimitri John Ledkov (xnox)

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

-- 
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:
  In Progress
Status in zfs-linux source package in Focal:
  In Progress
Status in zfs-linux source package in Hirsute:
  In Progress
Status in zfs-linux source package in Impish:
  In Progress

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