summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorArchzfs Buildbot2024-01-26 01:31:05 +0000
committerArchzfs Buildbot2024-01-26 01:31:05 +0000
commit92eb89560e77ab95a0d0a402378eae81f1ead336 (patch)
tree28aed64375ba4e958dea7b09dc0a43c85e48bf06
parentf21d3bb07fb356f539c31d45f4b0550521b3c7bf (diff)
downloadaur-92eb89560e77ab95a0d0a402378eae81f1ead336.tar.gz
Semi-automated update for kernel 6.6.13.hardened1-1 + zfs 2.2.2
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD2
-rw-r--r--linux-6.7-compat.patch81
3 files changed, 83 insertions, 2 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f957ddcfde2f..02d7de628fa7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -11,7 +11,7 @@ pkgbase = zfs-linux-hardened
source = https://github.com/openzfs/zfs/releases/download/zfs-2.2.2/zfs-2.2.2.tar.gz
source = linux-6.7-compat.patch
sha256sums = 76bc0547d9ba31d4b0142e417aaaf9f969072c3cb3c1a5b10c8738f39ed12fc9
- sha256sums = 5afd5ce236dfe0eb96abbe61a61c211623cb4a89c9fbb0be5f9f400a0970719e
+ sha256sums = 43bca1a6717bfc77d42a4c51656c38674c6be8d7ec46f04c7febcdafd9295916
pkgname = zfs-linux-hardened
pkgdesc = Kernel modules for the Zettabyte File System.
diff --git a/PKGBUILD b/PKGBUILD
index e688beae10cb..1c610ecf2c97 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -28,7 +28,7 @@ makedepends=("linux-hardened-headers=${_kernelver}")
arch=("x86_64")
url="https://openzfs.org/"
source=("https://github.com/openzfs/zfs/releases/download/zfs-${_zfsver}/zfs-${_zfsver}.tar.gz" "linux-6.7-compat.patch")
-sha256sums=("76bc0547d9ba31d4b0142e417aaaf9f969072c3cb3c1a5b10c8738f39ed12fc9" "5afd5ce236dfe0eb96abbe61a61c211623cb4a89c9fbb0be5f9f400a0970719e")
+sha256sums=("76bc0547d9ba31d4b0142e417aaaf9f969072c3cb3c1a5b10c8738f39ed12fc9" "43bca1a6717bfc77d42a4c51656c38674c6be8d7ec46f04c7febcdafd9295916")
license=("CDDL")
depends=("kmod" "zfs-utils=${_zfsver}" "linux-hardened=${_kernelver}")
prepare() {
diff --git a/linux-6.7-compat.patch b/linux-6.7-compat.patch
index 766ca929cc90..e05470626d20 100644
--- a/linux-6.7-compat.patch
+++ b/linux-6.7-compat.patch
@@ -883,3 +883,84 @@ index 55cdbba5b5eb..02dd80c06062 100644
}
int
+
+
+ From 49b2dee41a483ebc187ab2b42a6250242298b71b Mon Sep 17 00:00:00 2001
+From: Rob Norris <robn@despairlabs.com>
+Date: Mon, 15 Jan 2024 09:01:39 +1100
+Subject: [PATCH 1/2] tests/ctime: ensure times change by the right amount
+
+Previously, we only checked if the times changed at all, which missed a
+bug where the atime was being set to an undefined value.
+
+Now ensure the times change by two seconds (or thereabouts), ensuring we
+catch cases where we set the time to something bonkers
+
+Signed-off-by: Rob Norris <robn@despairlabs.com>
+Sponsored-by: https://despairlabs.com/sponsor/
+---
+ tests/zfs-tests/cmd/ctime.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/tests/zfs-tests/cmd/ctime.c b/tests/zfs-tests/cmd/ctime.c
+index 0f5d81aea613..5ff1cea8a869 100644
+--- a/tests/zfs-tests/cmd/ctime.c
++++ b/tests/zfs-tests/cmd/ctime.c
+@@ -362,12 +362,20 @@ main(void)
+ return (1);
+ }
+
+- if (t1 == t2) {
+- (void) fprintf(stderr, "%s: t1(%ld) == t2(%ld)\n",
++
++ /*
++ * Ideally, time change would be exactly two seconds, but allow
++ * a little slack in case of scheduling delays or similar.
++ */
++ long delta = (long)t2 - (long)t1;
++ if (delta < 2 || delta > 4) {
++ (void) fprintf(stderr,
++ "%s: BAD time change: t1(%ld), t2(%ld)\n",
+ timetest_table[i].name, (long)t1, (long)t2);
+ return (1);
+ } else {
+- (void) fprintf(stderr, "%s: t1(%ld) != t2(%ld)\n",
++ (void) fprintf(stderr,
++ "%s: good time change: t1(%ld), t2(%ld)\n",
+ timetest_table[i].name, (long)t1, (long)t2);
+ }
+ }
+
+From 34c12f76f46ba91ff2a7cd8d2855524844e0cadc Mon Sep 17 00:00:00 2001
+From: Rob Norris <robn@despairlabs.com>
+Date: Sun, 14 Jan 2024 13:46:06 +1100
+Subject: [PATCH 2/2] zfs_setattr: fix atime update
+
+In db4fc559c I messed up and changed this bit of code to set the inode
+atime to an uninitialised value, when actually it was just supposed to
+loading the atime from the inode to be stored in the SA. This changes it
+to what it should have been.
+
+Signed-off-by: Rob Norris <robn@despairlabs.com>
+Sponsored-by: https://despairlabs.com/sponsor/
+Fixes: #15762
+---
+ module/os/linux/zfs/zfs_vnops_os.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/module/os/linux/zfs/zfs_vnops_os.c b/module/os/linux/zfs/zfs_vnops_os.c
+index 2a766a585b70..b7b89b8afc56 100644
+--- a/module/os/linux/zfs/zfs_vnops_os.c
++++ b/module/os/linux/zfs/zfs_vnops_os.c
+@@ -2439,9 +2439,8 @@ zfs_setattr(znode_t *zp, vattr_t *vap, int flags, cred_t *cr, zidmap_t *mnt_ns)
+
+ if ((mask & ATTR_ATIME) || zp->z_atime_dirty) {
+ zp->z_atime_dirty = B_FALSE;
+- inode_timespec_t tmp_atime;
++ inode_timespec_t tmp_atime = zpl_inode_get_atime(ip);
+ ZFS_TIME_ENCODE(&tmp_atime, atime);
+- zpl_inode_set_atime_to_ts(ZTOI(zp), tmp_atime);
+ SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_ATIME(zfsvfs), NULL,
+ &atime, sizeof (atime));
+ }
+