Trace showing reproducibility using zfs-linux 2.2.2-0ubuntu9

** Description changed:

  SRU Justification
  
  [Impact]
  
  * 2.2.2-0ubuntu9 has the 6.7 compat series, including 
https://github.com/openzfs/zfs/commit/db4fc559cc1931b9219e62aa505cd5c51a17b232, 
but does not include the fix for that commit (affects both pre-6.7 and 
post-6.7),
  
https://github.com/openzfs/zfs/commit/f0bf7a247dbb030d68c7fd2b5526dd111cc775d0. 
This manifests for me on the current (6.8.0-40.40~22.04.3) 22.04 HWE kernel as 
writes to a file resetting atime back to 0 (reads still seem to work as 
expected though given that state), which of course breaks real-world things (in 
my case, I can no longer successfully run LLVM's test suite).
  
  Thanks to CONFIG_INIT_STACK_ALL_ZERO=y being the default it seems like
  this isn't a kernel memory disclosure and is instead a deterministic use
  of 0, so I don't believe this to be a blatant security vulnerability.
  This also explains the behaviour observed above.
  
  This needs fixing in noble, and then propagating back through whatever
  kernels are pulling in this version, since linux-modules vendors copies
  of the pre-built DKMS modules, with the current 6.8 HWE kernel using
  2.2.2-0ubuntu9 explicitly.
  
  [Fix]
  
  * Include f0bf7a247dbb: "[PATCH] Linux 6.7 compat: zfs_setattr fix atime
  update" from upstream ZFS as quilt patch.
  
  [Test Case]
  
  * Build tested against Noble generic
  * Ran autopkgktests for regressions, none encountered
+ * Ran the following test case:
+ 
+ Using zfs-linux 2.2.2-0ubuntu9
+ $ cd /path/to/zfs
+ $ rm -f foo
+ $ touch foo
+ $ stat foo
+ $ # observe initial access time of 0 since epoch (1970-01-01)
+ 
+ Using zfs-linux 2.2.2-0ubuntu9.1
+ $ cd /path/to/zfs
+ $ rm -f foo
+ $ touch foo
+ $ stat foo
+ $ # observe initial access time same as modify/change/birth
+ 
+ Also see results attached as "zfs-bad" and "zfs-good", respectively
  
  [Where things could go wrong]
  
  * Low chance of regression, isolated instantiation and logic fix.
  * Addition of time delta check could cause issues during unexpected delay > 2 
seconds.

** Attachment added: "zfs-bad"
   
https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/2077487/+attachment/5824618/+files/zfs-bad

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

Title:
  Broken atime in 2.2.2-0ubuntu9 (noble's version)

Status in linux package in Ubuntu:
  Invalid
Status in linux-hwe-6.8 package in Ubuntu:
  Invalid
Status in zfs-linux package in Ubuntu:
  Fix Released
Status in linux source package in Noble:
  Confirmed
Status in linux-hwe-6.8 source package in Noble:
  Invalid
Status in zfs-linux source package in Noble:
  In Progress

Bug description:
  SRU Justification

  [Impact]

  * 2.2.2-0ubuntu9 has the 6.7 compat series, including 
https://github.com/openzfs/zfs/commit/db4fc559cc1931b9219e62aa505cd5c51a17b232, 
but does not include the fix for that commit (affects both pre-6.7 and 
post-6.7),
  
https://github.com/openzfs/zfs/commit/f0bf7a247dbb030d68c7fd2b5526dd111cc775d0. 
This manifests for me on the current (6.8.0-40.40~22.04.3) 22.04 HWE kernel as 
writes to a file resetting atime back to 0 (reads still seem to work as 
expected though given that state), which of course breaks real-world things (in 
my case, I can no longer successfully run LLVM's test suite).

  Thanks to CONFIG_INIT_STACK_ALL_ZERO=y being the default it seems like
  this isn't a kernel memory disclosure and is instead a deterministic
  use of 0, so I don't believe this to be a blatant security
  vulnerability. This also explains the behaviour observed above.

  This needs fixing in noble, and then propagating back through whatever
  kernels are pulling in this version, since linux-modules vendors
  copies of the pre-built DKMS modules, with the current 6.8 HWE kernel
  using 2.2.2-0ubuntu9 explicitly.

  [Fix]

  * Include f0bf7a247dbb: "[PATCH] Linux 6.7 compat: zfs_setattr fix
  atime update" from upstream ZFS as quilt patch.

  [Test Case]

  * Build tested against Noble generic
  * Ran autopkgktests for regressions, none encountered
  * Ran the following test case:

  Using zfs-linux 2.2.2-0ubuntu9
  $ cd /path/to/zfs
  $ rm -f foo
  $ touch foo
  $ stat foo
  $ # observe initial access time of 0 since epoch (1970-01-01)

  Using zfs-linux 2.2.2-0ubuntu9.1
  $ cd /path/to/zfs
  $ rm -f foo
  $ touch foo
  $ stat foo
  $ # observe initial access time same as modify/change/birth

  Also see results attached as "zfs-bad" and "zfs-good", respectively

  [Where things could go wrong]

  * Low chance of regression, isolated instantiation and logic fix.
  * Addition of time delta check could cause issues during unexpected delay > 2 
seconds.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2077487/+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