summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Laß2024-05-18 14:28:57 +0200
committerMichael Laß2024-05-18 14:28:57 +0200
commitf612007c49ecd50d4982f3ed210ee8d91f558da8 (patch)
treed587df8de6477e520fe8203cc4266f26b20d13b6
parent45281a127a56134b3569b085c32ffe02f0c07c39 (diff)
downloadaur-f612007c49ecd50d4982f3ed210ee8d91f558da8.tar.gz
Add patches for Linux 6.9 and some bug fixes
-rw-r--r--.SRCINFO76
-rw-r--r--0001-afs-Make-afs_AllocDCache-static.patch11
-rw-r--r--0002-LINUX-Minor-osi_vfsop.c-cleanup.patch11
-rw-r--r--0003-afs-Remove-SRXAFSCB_GetDE.patch11
-rw-r--r--0004-afs-remove-dead-ICL-fstrace-code.patch11
-rw-r--r--0005-cf-Add-function-prototypes-for-linux-conftest.patch11
-rw-r--r--0006-afs-Remove-afs_MemExtendEntry.patch (renamed from 0007-afs-Remove-afs_MemExtendEntry.patch)11
-rw-r--r--0007-afs-Remove-afs_osi_UnmaskUserLoop.patch (renamed from 0008-afs-Remove-afs_osi_UnmaskUserLoop.patch)11
-rw-r--r--0008-afs-Remove-dummy_PSetAcl.patch (renamed from 0009-afs-Remove-dummy_PSetAcl.patch)11
-rw-r--r--0009-afs-Remove-DFlushDCache.patch (renamed from 0006-afs-Remove-DFlushDCache.patch)11
-rw-r--r--0010-afs-Remove-SRXAFSCB_FetchData-StoreData.patch11
-rw-r--r--0011-afs-Remove-afs_DbgDisconFiles.patch11
-rw-r--r--0012-afs-Add-declaration-for-RXAFS_ResidencyCmd.patch11
-rw-r--r--0013-roken-Declare-ct_memcmp-in-hcrypto-kernel-roken.h.patch11
-rw-r--r--0014-Linux-6.8-Add-function-prototypes-for-krb5.patch11
-rw-r--r--0015-afs-Declare-init_hckernel_mutex.patch11
-rw-r--r--0016-afs-Add-includes-to-pick-up-function-prototypes.patch11
-rw-r--r--0017-afs-Move-function-prototypes-into-headers.patch11
-rw-r--r--0018-afs-Add-afs_xioctl-prototyes-to-afs_prototypes.h.patch11
-rw-r--r--0019-afs-Remove-SRXAFSCB-protos-from-afs_prototypes.h.patch11
-rw-r--r--0020-rx-Add-function-prototypes-to-rx_prototypes.h.patch11
-rw-r--r--0021-afs-fix-ops-variable-may-be-used-uninitialized.patch11
-rw-r--r--0022-afs-Add-static-attribute-to-internal-functions.patch11
-rw-r--r--0023-rx-Add-static-attribute-to-internal-functions.patch11
-rw-r--r--0024-rxgen-Declare-generated-PKG_TranslateOpCode.patch11
-rw-r--r--0025-rxgen-Declare-generated-PKG_OpCodeStats.patch11
-rw-r--r--0026-Linux-6.8-use-hlist-iteration-for-dentry-children.patch11
-rw-r--r--0027-Linux-6.8-Remove-ctl_table-sentinels.patch11
-rw-r--r--0028-Linux-6.8-Use-roken-s-strlcpy-in-kernel-module.patch11
-rw-r--r--0029-Linux-Remove-weak-attribute-for-key_type_keyring.patch91
-rw-r--r--0029-afs-Drop-GLOCK-for-various-Rx-calls.patch362
-rw-r--r--0030-Linux-Define-afs_thread_wrapper-as-static.patch58
-rw-r--r--0031-Linux-6.9-file_lock-mbrs-moved-to-file_lock_core.patch232
-rw-r--r--0032-afs-Reintroduce-and-use-DFlushDCache.patch97
-rw-r--r--PKGBUILD91
35 files changed, 793 insertions, 522 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2fdef6583550..a47c299c4f29 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = openafs-modules
pkgdesc = Kernel module for OpenAFS
pkgver = 1.8.11
- pkgrel = 1
+ pkgrel = 2
url = http://www.openafs.org
install = openafs-modules.install
arch = i686
@@ -20,10 +20,10 @@ pkgbase = openafs-modules
source = 0003-afs-Remove-SRXAFSCB_GetDE.patch
source = 0004-afs-remove-dead-ICL-fstrace-code.patch
source = 0005-cf-Add-function-prototypes-for-linux-conftest.patch
- source = 0006-afs-Remove-DFlushDCache.patch
- source = 0007-afs-Remove-afs_MemExtendEntry.patch
- source = 0008-afs-Remove-afs_osi_UnmaskUserLoop.patch
- source = 0009-afs-Remove-dummy_PSetAcl.patch
+ source = 0006-afs-Remove-afs_MemExtendEntry.patch
+ source = 0007-afs-Remove-afs_osi_UnmaskUserLoop.patch
+ source = 0008-afs-Remove-dummy_PSetAcl.patch
+ source = 0009-afs-Remove-DFlushDCache.patch
source = 0010-afs-Remove-SRXAFSCB_FetchData-StoreData.patch
source = 0011-afs-Remove-afs_DbgDisconFiles.patch
source = 0012-afs-Add-declaration-for-RXAFS_ResidencyCmd.patch
@@ -43,36 +43,42 @@ pkgbase = openafs-modules
source = 0026-Linux-6.8-use-hlist-iteration-for-dentry-children.patch
source = 0027-Linux-6.8-Remove-ctl_table-sentinels.patch
source = 0028-Linux-6.8-Use-roken-s-strlcpy-in-kernel-module.patch
- source = 0029-afs-Drop-GLOCK-for-various-Rx-calls.patch
+ source = 0029-Linux-Remove-weak-attribute-for-key_type_keyring.patch
+ source = 0030-Linux-Define-afs_thread_wrapper-as-static.patch
+ source = 0031-Linux-6.9-file_lock-mbrs-moved-to-file_lock_core.patch
+ source = 0032-afs-Reintroduce-and-use-DFlushDCache.patch
sha256sums = e2efb4710996b7d23198b53c56295a8f9e24e8a555317c5fc63b8125a3714ecd
- sha256sums = e85f5656f76700e4236b1033cf4b7f08c59ab757d52d2a67dcb2c65762388733
- sha256sums = 8d48b727e77b1e952310ad9f94bd4ece9e64e1f03a35463bb23dffa1009738d8
- sha256sums = c44c91e31df1ec77f1a39eb7b172c4e348e41b293ae05606288bfe333ad7c29b
- sha256sums = 48dd1065f8bcb90d0bdc7ae5b484da5a1a5d93461f6ac1d6ceef103d2b807f22
- sha256sums = ce054eadb9c84173b0bd1318ef88cb9500049431779252e501491d9389141bad
- sha256sums = ae525167f5f6f7e0301eee70b3424e51e45e56e9fe9588b95cf72d5fa96717b9
- sha256sums = 974861c174969591351c5fb4a47946e02f979c2b5590f89d9d16dfbe4238451f
- sha256sums = e5d72b5e08c63df10299b56bfebf3c5c44e07d16c0436fb2c0eef3614ad505e3
- sha256sums = 8143496d251dd1f13b8603b4e692fbd67f925caccd12035598e70542d24389f5
- sha256sums = 216e684f8181adc4a4b3c4ba934997cada10831c5608e724e91d09e836ec626d
- sha256sums = 2e573535da21f8be5b83c8e82166c0bdc5896293b28e793fa4c1bdb9ff942dbd
- sha256sums = 0535fbdd3c8431b7b16842f1fa6592355f647ae456112e97d34d541e74204be5
- sha256sums = 7aacef8bd6832f119472f7d52af36951a56f1e54d36d9bce59998fcf818517e5
- sha256sums = 3db5177c80a7694c1be3b74f419570a5076edc519b40112cf17e68fecc7574a3
- sha256sums = 9fe647d54c999e358597fe671dc7e88da609a69bb93624e15919d9b4cc4fdb5a
- sha256sums = 7ced2ca2d4f54b2fa15c584869de122810ee0d1b024d1bf541f38d77172e311c
- sha256sums = c88c8b8e1c993da773eea3ae4f17e5171189ed7e1fc5769fdb49d82cae0cffd3
- sha256sums = c57c826c9f26568241bcb17eff04067a1b5e388f72523765aa80d480c3690325
- sha256sums = d508dd6136170fcb4794e283178f9c5f4ede12f415b882ba7c13470e8f09bdde
- sha256sums = 894eb7e7889749cefa9cbf86e2eceda470d20510a5a7a5be2cd851f8570e076c
- sha256sums = fb36b0ef833811910cae42d8411a00dcf2aff08c8799f766e32cda3ad5a7f0e2
- sha256sums = d08d38ff53890632900de5d69dc105711d5bce2d02a55ffe70c87b38ca39aca7
- sha256sums = db700b5f62e979af60856278306e8fce6df21dfb24996dd0d690c82222f4d793
- sha256sums = 46294f8323bf71ee96c8f765bb36fc5e0af6b2257deac7eaea4f4cb9568d9fe1
- sha256sums = 5d4a2614065046a32ef805198349e70476d3ed9e079a4ef7577e71e0dac1d2fa
- sha256sums = 4c8201265f558bac146bf8cee38f8c925b2c2262133ae88d9eb2f0623a0ada07
- sha256sums = ceb02a7a5e596434215693f065ad6221f568f85aab173df4752248d2c4d8f971
- sha256sums = 2b05242c5516871191a251a617c6c02e80f34b92b6cfeb0c9c6a1f3e0ff915d9
- sha256sums = 82b197ac5f2639d891c8a646963ef6b87ef4171c7a70ac6ca7a9a55511090952
+ sha256sums = 8156fa6b024531b9c18d3727e4a7319eb270bb862c6f9ee44eabf6920bcf3736
+ sha256sums = 18f7fdd1c3a392f5b6c660d9eedfdf189ce19629da1c2f4e8197aa1198df9008
+ sha256sums = 863eba3beee07f972d478624587975fc997a78867e3f9cb2f4ab649bfabae0bf
+ sha256sums = 22c4102a0919b71af82ec8525c016b9692424f67ace207c225ebab838111d5cc
+ sha256sums = d79cd75af56537a28cd15692af61c1f701527795dea789b85535976fb258f420
+ sha256sums = 9c0423ebc12378fff0595735510e80e0759895d3d763f1d6d364d6fc22d8d272
+ sha256sums = 58a2fbbd131a6d480ac1ede5a79c9ae90ce0a9edc81d66b4d3dede9980c662b8
+ sha256sums = 1aefdecb45083192fcfb76e8029404fb82295d1051699bea9cddc7c0be81e00e
+ sha256sums = 6542a046d99b304d716c6034aa468ebc7dc76e37507d328bb82b3797fef39220
+ sha256sums = dff332541f05a125fd4b7713e8c6a2030fa9abf4ecb56e7b0c7ee554f73a9fa9
+ sha256sums = 8c59d49b409fde14538f7eab2efbf51f281e4ca977cb4658fb0197ae5c317aef
+ sha256sums = 45302b6323b76162d648883e52ae68cf95933e96697f58a4f2b948687a1e4d51
+ sha256sums = 0be51a38cc7208ecbf855880115fe797b6bef0005ff53391d2f7a636bb67eff4
+ sha256sums = 8882dec77cf6bac3c2022c3b32460f76988a736aa3312b3ecc1daaca4a8d601e
+ sha256sums = 3f7de2872cd90e50e103a3c388c9a4501e85d27041d4e696ca49a885b4ca7b60
+ sha256sums = d750390ac3ef573793c44862b6f59302ef0ba6b2ba24bbded58dc70d83f25e47
+ sha256sums = b31fd46ae26a2a34c5d81c77edccc69a42c8d0362cc25254730fddedb22753c8
+ sha256sums = 963b27b44402149159dd8f5c1e9821704cacd2a6de1fb2c8088bfb11f10d1c99
+ sha256sums = 09bac17f405b2f00d99278ecc441596aab1ac1dae80586efa86ade3d7806c266
+ sha256sums = 4b2de147029b6f91fdeeddb8276fbc577926378440d019f2a197c3b51517e6d8
+ sha256sums = 9354aa971f3d9e460ef3179347f8ee7f6c38597571f84d648a237a7edcaf4835
+ sha256sums = 067c31796977aef73747f85a85cb9045c4361502eb7f9d622aecf2dd9ed5b723
+ sha256sums = 063a8d942eb3a9f5a27780dd12b2dea2e67f8f3b35d7bfe2eedfe879ea2b1b40
+ sha256sums = 0072ef62a412e23c136bb69e67ec05bc802cc96636e9a0827cc3dd3dd43bc935
+ sha256sums = 3564c0a944f6e2478477105625809729e6183213b969fe2ed9b69483244c4be7
+ sha256sums = 072f7aa32c711447d794ad430b68475fdfa3e21e805dab640086226fbc328c66
+ sha256sums = 867086d1809b63a1e87afc7c3b440f6bccb39e6fbe40d05fc3a35aa5ecf4f1cd
+ sha256sums = 2ff01dbf33ebb7b3cb6e5be83a6adab906ae287836cc1584561144f5be63d6cd
+ sha256sums = 049b82cb0b1427d87460f703cf1926e4b86b386afed1e5ebc78d1ac61b0ca137
+ sha256sums = fe36d327804d315cb54b4cedcb44631fe70044db6ce3ba88387698c4b91808df
+ sha256sums = 0a3f1b80d2312edfd9424e0bbcf943a13b049c9556778b600b103d11e9b62182
+ sha256sums = 32f0bda8b9a3a408af5247347e2896011122362584abcd03b5c63973bd863d07
pkgname = openafs-modules
diff --git a/0001-afs-Make-afs_AllocDCache-static.patch b/0001-afs-Make-afs_AllocDCache-static.patch
index ebbc523a5f38..61d7f30dfe47 100644
--- a/0001-afs-Make-afs_AllocDCache-static.patch
+++ b/0001-afs-Make-afs_AllocDCache-static.patch
@@ -1,7 +1,7 @@
-From 78e644655a3858113f33f534d018220ab2eaabc0 Mon Sep 17 00:00:00 2001
+From fca6fd911e493a344c040a95ea4ab820e2828802 Mon Sep 17 00:00:00 2001
From: Andrew Deason <adeason@sinenomine.net>
Date: Thu, 28 Jun 2018 12:50:52 -0500
-Subject: [PATCH 01/29] afs: Make afs_AllocDCache static
+Subject: [PATCH 01/32] afs: Make afs_AllocDCache static
Nothing using afs_AllocDCache outside of afs_dcache.c. Declare the
function static, to ensure that nobody else uses it, and to maybe
@@ -13,6 +13,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 4ab70de9641807bd06056f0c1ac79550453b9574)
Change-Id: I6fd9e31c4b2e862174402f731a77c91599893223
+Reviewed-on: https://gerrit.openafs.org/15679
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_dcache.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -31,5 +36,5 @@ index 3572f2f23..46d0bdba5 100644
struct VenusFid *ashFid)
{
--
-2.44.0
+2.45.1
diff --git a/0002-LINUX-Minor-osi_vfsop.c-cleanup.patch b/0002-LINUX-Minor-osi_vfsop.c-cleanup.patch
index 252cea0db5da..1af30a622755 100644
--- a/0002-LINUX-Minor-osi_vfsop.c-cleanup.patch
+++ b/0002-LINUX-Minor-osi_vfsop.c-cleanup.patch
@@ -1,7 +1,7 @@
-From 2f5309a7fa3ee187c18a8930b96e89e4e31cf03e Mon Sep 17 00:00:00 2001
+From 1e1bf8ebcd3c18b05326cd7b26a471db804aeaeb Mon Sep 17 00:00:00 2001
From: Andrew Deason <adeason@sinenomine.net>
Date: Tue, 24 Jul 2018 23:22:01 -0500
-Subject: [PATCH 02/29] LINUX: Minor osi_vfsop.c cleanup
+Subject: [PATCH 02/32] LINUX: Minor osi_vfsop.c cleanup
- Fix the formatting on afs_mount/afs_get_sb definitions
@@ -14,6 +14,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit fa15fbda0aa0c3810695d9b867d3258b60e76b7c)
Change-Id: I8a32475bf2ddb9c7206aef679947021925697c5a
+Reviewed-on: https://gerrit.openafs.org/15680
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Tested-by: Benjamin Kaduk <kaduk@mit.edu>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/LINUX/osi_vfsops.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
@@ -76,5 +81,5 @@ index b85ab3fdf..bb49a5ce2 100644
afs_statfs(struct dentry *dentry, struct kstatfs *statp)
#else
--
-2.44.0
+2.45.1
diff --git a/0003-afs-Remove-SRXAFSCB_GetDE.patch b/0003-afs-Remove-SRXAFSCB_GetDE.patch
index 873bc45ee037..c719ac050bdd 100644
--- a/0003-afs-Remove-SRXAFSCB_GetDE.patch
+++ b/0003-afs-Remove-SRXAFSCB_GetDE.patch
@@ -1,7 +1,7 @@
-From fb336c461e9c212d450ce5e00890e8bbb2d9a4f7 Mon Sep 17 00:00:00 2001
+From 9f052c137d1184a783c8ac3182c3544b275484f5 Mon Sep 17 00:00:00 2001
From: Andrew Deason <adeason@sinenomine.net>
Date: Sat, 9 Jan 2021 12:50:03 -0600
-Subject: [PATCH 03/29] afs: Remove SRXAFSCB_GetDE
+Subject: [PATCH 03/32] afs: Remove SRXAFSCB_GetDE
The GetDE RPC has been commented out from afscbint.xg effectively
since it was introduced, but we still define the SRXAFSCB_GetDE server
@@ -24,6 +24,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 444a971edc47c34efbefed6e332ee6e843ae072b)
Change-Id: I83846d79ce3143571923cb6023075620091f093d
+Reviewed-on: https://gerrit.openafs.org/15681
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_callback.c | 11 -----------
1 file changed, 11 deletions(-)
@@ -48,5 +53,5 @@ index e7d8ab5d4..22edefb3f 100644
-
-} /*SRXAFSCB_GetDE*/
--
-2.44.0
+2.45.1
diff --git a/0004-afs-remove-dead-ICL-fstrace-code.patch b/0004-afs-remove-dead-ICL-fstrace-code.patch
index f6e079895fb1..f7eb49b73218 100644
--- a/0004-afs-remove-dead-ICL-fstrace-code.patch
+++ b/0004-afs-remove-dead-ICL-fstrace-code.patch
@@ -1,7 +1,7 @@
-From 7d45e9f76541e2d0b57984b9ba272a86bbd9791b Mon Sep 17 00:00:00 2001
+From 05ac6149f2f7998b6110c403d26757151b8e8ffe Mon Sep 17 00:00:00 2001
From: Mark Vitale <mvitale@sinenomine.net>
Date: Thu, 11 Mar 2021 15:36:54 -0500
-Subject: [PATCH 04/29] afs: remove dead ICL (fstrace) code
+Subject: [PATCH 04/32] afs: remove dead ICL (fstrace) code
The ICL code (afs/afs_icl.c) which supports fstrace includes a number of
functions that have been dead code since the original IBM code import.
@@ -16,6 +16,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit ba58d9912cff07a6f2af7275017cf70115f1a88d)
Change-Id: Ic0a6d5dac200e7e130fa8df66005bdaf291cf088
+Reviewed-on: https://gerrit.openafs.org/15682
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_icl.c | 147 ---------------------------------------
src/afs/afs_prototypes.h | 19 -----
@@ -261,5 +266,5 @@ index e9a655e65..ed43635aa 100644
extern int afs_icl_SetHold(struct afs_icl_set *setp);
extern int afs_icl_ZapSet(struct afs_icl_set *setp);
--
-2.44.0
+2.45.1
diff --git a/0005-cf-Add-function-prototypes-for-linux-conftest.patch b/0005-cf-Add-function-prototypes-for-linux-conftest.patch
index 75f365179b57..78eb822f0242 100644
--- a/0005-cf-Add-function-prototypes-for-linux-conftest.patch
+++ b/0005-cf-Add-function-prototypes-for-linux-conftest.patch
@@ -1,7 +1,7 @@
-From 55e30ae5560063b8141b3696b0c67f355dcefc54 Mon Sep 17 00:00:00 2001
+From ef7b8c578790d84c89f09c3236f1718725770e75 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Wed, 7 Feb 2024 14:51:23 -0700
-Subject: [PATCH 05/29] cf: Add function prototypes for linux conftest
+Subject: [PATCH 05/32] cf: Add function prototypes for linux conftest
The Linux 6.8 commit:
'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f)
@@ -27,6 +27,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 1440843b80e28db908bd8c264b8adbfb2c95b4d9)
Change-Id: I38acb7b0cb08dec8e9bca5f3792fbf981884a74c
+Reviewed-on: https://gerrit.openafs.org/15683
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/cf/linux-test1.m4 | 4 ++--
src/cf/linux-test4.m4 | 16 ++++++++--------
@@ -104,5 +109,5 @@ index 3596b6aad..7889c904a 100644
[IOP_CREATE_TAKES_UMODE_T],
[define if inode.i_op->create takes a umode_t argument],
--
-2.44.0
+2.45.1
diff --git a/0007-afs-Remove-afs_MemExtendEntry.patch b/0006-afs-Remove-afs_MemExtendEntry.patch
index 2936ed094d7c..1c9a38f2ff7f 100644
--- a/0007-afs-Remove-afs_MemExtendEntry.patch
+++ b/0006-afs-Remove-afs_MemExtendEntry.patch
@@ -1,7 +1,7 @@
-From ca64798e8baf3378e3cc7a619b9e02a715a39ddc Mon Sep 17 00:00:00 2001
+From 4881af8e3cf3f7d09670ba4b5bb9b644a329530d Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Fri, 12 Jan 2024 09:09:39 -0700
-Subject: [PATCH 07/29] afs: Remove afs_MemExtendEntry()
+Subject: [PATCH 06/32] afs: Remove afs_MemExtendEntry()
The function afs_MemExtendEntry() is not referenced anywhere within
the source tree.
@@ -28,6 +28,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit eab2a4ae758876bb7547d289f936f9cfc4227cf5)
Change-Id: I37f241a6df33ab15249c6708d5ca820353c8b413
+Reviewed-on: https://gerrit.openafs.org/15685
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_memcache.c | 10 ----------
1 file changed, 10 deletions(-)
@@ -54,5 +59,5 @@ index 936cbe927..419083da2 100644
shutdown_memcache(void)
{
--
-2.44.0
+2.45.1
diff --git a/0008-afs-Remove-afs_osi_UnmaskUserLoop.patch b/0007-afs-Remove-afs_osi_UnmaskUserLoop.patch
index 635f1ac7aadf..9de6cbf2f3f7 100644
--- a/0008-afs-Remove-afs_osi_UnmaskUserLoop.patch
+++ b/0007-afs-Remove-afs_osi_UnmaskUserLoop.patch
@@ -1,7 +1,7 @@
-From fb3a69c84ced6db6aa9aeb506bfb64ac18745a92 Mon Sep 17 00:00:00 2001
+From cc8053e86eef75bff308e7606f2618e9fdc4ec5d Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Fri, 12 Jan 2024 09:13:27 -0700
-Subject: [PATCH 08/29] afs: Remove afs_osi_UnmaskUserLoop()
+Subject: [PATCH 07/32] afs: Remove afs_osi_UnmaskUserLoop()
The function afs_osi_UnmaskUserLoop() is not referenced anywhere within
the source tree.
@@ -26,6 +26,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 587cfce29cb4e014e5b8d96e0433c5e7d2c6729a)
Change-Id: I0fe91a41e8f00773cb1d5976a8c3e39e4415f6bc
+Reviewed-on: https://gerrit.openafs.org/15686
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_osi.c | 8 --------
1 file changed, 8 deletions(-)
@@ -50,5 +55,5 @@ index 18732d1a3..6f54c63c7 100644
void
afs_osi_RxkRegister(void)
--
-2.44.0
+2.45.1
diff --git a/0009-afs-Remove-dummy_PSetAcl.patch b/0008-afs-Remove-dummy_PSetAcl.patch
index 647734c08ca2..c0ca6af83270 100644
--- a/0009-afs-Remove-dummy_PSetAcl.patch
+++ b/0008-afs-Remove-dummy_PSetAcl.patch
@@ -1,7 +1,7 @@
-From bc446c8fa62df6ce9ab4be50b8b1da54901863ad Mon Sep 17 00:00:00 2001
+From bd2828f1ab4c88b95a5d075e29a942922aa86dba Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Fri, 12 Jan 2024 09:28:02 -0700
-Subject: [PATCH 09/29] afs: Remove dummy_PSetAcl()
+Subject: [PATCH 08/32] afs: Remove dummy_PSetAcl()
The function dummy_PSetAcl() is not referenced anywhere within the
source tree.
@@ -25,6 +25,11 @@ Tested-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 05ca98687d882c72915e91430e29a4f2a36c502c)
Change-Id: Ie4420a365e07d2d8564530e004df75330e86bea5
+Reviewed-on: https://gerrit.openafs.org/15687
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_pioctl.c | 6 ------
1 file changed, 6 deletions(-)
@@ -47,5 +52,5 @@ index 9182a4b52..7ddb5add2 100644
{
afs_int32 code;
--
-2.44.0
+2.45.1
diff --git a/0006-afs-Remove-DFlushDCache.patch b/0009-afs-Remove-DFlushDCache.patch
index b49f122e542a..16b03b5b2f9b 100644
--- a/0006-afs-Remove-DFlushDCache.patch
+++ b/0009-afs-Remove-DFlushDCache.patch
@@ -1,7 +1,7 @@
-From 177c84e86d65936636a4db5548f4424f04a1b33c Mon Sep 17 00:00:00 2001
+From bb7eaafb2e87d313eeb0a7bedebe2aa7a797b005 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Fri, 12 Jan 2024 08:56:31 -0700
-Subject: [PATCH 06/29] afs: Remove DFlushDCache()
+Subject: [PATCH 09/32] afs: Remove DFlushDCache()
The function DFlushDcache() is not referenced anywhere within the
source tree.
@@ -27,6 +27,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 432ac5810e51bb5bb2cf1df0bfebc64d1c4d7a39)
Change-Id: Ib8ab79c76c633632215e02235f47fdb1d744e721
+Reviewed-on: https://gerrit.openafs.org/15684
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_buffer.c | 25 -------------------------
1 file changed, 25 deletions(-)
@@ -68,5 +73,5 @@ index 5552d1c21..9538c6806 100644
DFlush(void)
{
--
-2.44.0
+2.45.1
diff --git a/0010-afs-Remove-SRXAFSCB_FetchData-StoreData.patch b/0010-afs-Remove-SRXAFSCB_FetchData-StoreData.patch
index 765c8256492b..fd049d5dc441 100644
--- a/0010-afs-Remove-SRXAFSCB_FetchData-StoreData.patch
+++ b/0010-afs-Remove-SRXAFSCB_FetchData-StoreData.patch
@@ -1,7 +1,7 @@
-From 2501655e438f65523f5250b26a2074bdbd56bc16 Mon Sep 17 00:00:00 2001
+From be8001f1d64a2d9da4fdaeff59fdc40e205d4526 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Thu, 8 Feb 2024 12:22:13 -0700
-Subject: [PATCH 10/29] afs: Remove SRXAFSCB_FetchData/StoreData
+Subject: [PATCH 10/32] afs: Remove SRXAFSCB_FetchData/StoreData
Commit 'client-64bit-file-size-support-20011031' (971b18bc42) introduced
the RPC functions SRXAFSCB_FetchData() and SRXAFSCB_StoreData with RPC
@@ -28,6 +28,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 379f7fc51d411990189ec28e48c91edc87d76120)
Change-Id: I1a3539227d22e6df89d78245634dfeb14943035a
+Reviewed-on: https://gerrit.openafs.org/15688
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_callback.c | 65 ----------------------------------------
src/afs/afs_prototypes.h | 7 -----
@@ -128,5 +133,5 @@ index ed43635aa..208bd0338 100644
/* afs_cbqueue.c */
extern afs_rwlock_t afs_xcbhash;
--
-2.44.0
+2.45.1
diff --git a/0011-afs-Remove-afs_DbgDisconFiles.patch b/0011-afs-Remove-afs_DbgDisconFiles.patch
index ca60249b0327..ec47b1702db5 100644
--- a/0011-afs-Remove-afs_DbgDisconFiles.patch
+++ b/0011-afs-Remove-afs_DbgDisconFiles.patch
@@ -1,7 +1,7 @@
-From 3479efd57fb4ca488061301f2770905fd5c1d90f Mon Sep 17 00:00:00 2001
+From 73844a4939a7b8198bf11d4dcbce9e28b621bd11 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Thu, 8 Feb 2024 16:10:57 -0700
-Subject: [PATCH 11/29] afs: Remove afs_DbgDisconFiles()
+Subject: [PATCH 11/32] afs: Remove afs_DbgDisconFiles()
The function afs_DbgDisconFiles() is not referenced anywhere within the
source tree.
@@ -25,6 +25,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 32bb90047782f41df521bba5ab4aba8b4ed34203)
Change-Id: I61d06515845dbb18a370f7856285596514242e99
+Reviewed-on: https://gerrit.openafs.org/15689
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_disconnected.c | 31 -------------------------------
1 file changed, 31 deletions(-)
@@ -72,5 +77,5 @@ index 3b8858539..1aaabd905 100644
* Generate a fake fid for a disconnected shadow dir.
* Similar to afs_GenFakeFid, only that it uses the dhash
--
-2.44.0
+2.45.1
diff --git a/0012-afs-Add-declaration-for-RXAFS_ResidencyCmd.patch b/0012-afs-Add-declaration-for-RXAFS_ResidencyCmd.patch
index e203a16db82a..66c902faccb2 100644
--- a/0012-afs-Add-declaration-for-RXAFS_ResidencyCmd.patch
+++ b/0012-afs-Add-declaration-for-RXAFS_ResidencyCmd.patch
@@ -1,7 +1,7 @@
-From ae193277f1e2af7137e86ab5e96673c6d9fae217 Mon Sep 17 00:00:00 2001
+From 5d2c4a0a8ada4a87d7f39dc21dbce14b3b2a978f Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Fri, 12 Jan 2024 15:52:57 -0700
-Subject: [PATCH 12/29] afs: Add declaration for RXAFS_ResidencyCmd()
+Subject: [PATCH 12/32] afs: Add declaration for RXAFS_ResidencyCmd()
The function RXAFS_ResidencyCmd() is 'manually' defined within the
afsint.xg, so a prototype for the function is not defined.
@@ -27,6 +27,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 1d6cfbc5f627abf3808aae97afb72662301483b5)
Change-Id: I42d0868b83e119b0c3348a3af8aaf5961c040bb2
+Reviewed-on: https://gerrit.openafs.org/15690
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/fsint/afsint.xg | 1 +
1 file changed, 1 insertion(+)
@@ -44,5 +49,5 @@ index 9fe4980c6..cdcd07a29 100644
%{
% return RXAFS_FsCmd(z_conn, Fid, Inputs, Outputs);
--
-2.44.0
+2.45.1
diff --git a/0013-roken-Declare-ct_memcmp-in-hcrypto-kernel-roken.h.patch b/0013-roken-Declare-ct_memcmp-in-hcrypto-kernel-roken.h.patch
index 40a1c0609fca..ea0dd7997396 100644
--- a/0013-roken-Declare-ct_memcmp-in-hcrypto-kernel-roken.h.patch
+++ b/0013-roken-Declare-ct_memcmp-in-hcrypto-kernel-roken.h.patch
@@ -1,7 +1,7 @@
-From e5d980ec4a4d41f965fcfe968a2cf00e0b99a3e1 Mon Sep 17 00:00:00 2001
+From 15357006d9e8e45ac0be9e0c7e87456ee3857d90 Mon Sep 17 00:00:00 2001
From: Andrew Deason <adeason@sinenomine.net>
Date: Tue, 30 Jan 2024 20:44:48 -0600
-Subject: [PATCH 13/29] roken: Declare ct_memcmp in hcrypto kernel roken.h
+Subject: [PATCH 13/32] roken: Declare ct_memcmp in hcrypto kernel roken.h
Currently, we build roken's ct.c for our kernel module to provide
ct_memcmp(). We declare a prototype for ct_memcmp() in krb5_locl.h,
@@ -39,6 +39,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit be236069e9d26339ed5f9939965bca0dd3f8bf4e)
Change-Id: I1112881938b0585263871f8f83d63b8909b12f0d
+Reviewed-on: https://gerrit.openafs.org/15691
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/crypto/hcrypto/kernel/roken.h | 17 +++++++++++++++++
src/crypto/rfc3961/krb5_locl.h | 6 +-----
@@ -91,5 +96,5 @@ index eb279a95f..6e706737c 100644
#include "crypto.h"
--
-2.44.0
+2.45.1
diff --git a/0014-Linux-6.8-Add-function-prototypes-for-krb5.patch b/0014-Linux-6.8-Add-function-prototypes-for-krb5.patch
index b43c366dcd0d..4630ffb63324 100644
--- a/0014-Linux-6.8-Add-function-prototypes-for-krb5.patch
+++ b/0014-Linux-6.8-Add-function-prototypes-for-krb5.patch
@@ -1,7 +1,7 @@
-From e8e23ccf9d81e5c7df49d4e28441d7c986e47886 Mon Sep 17 00:00:00 2001
+From b1c93f13870e24795b857cb483320871703d00e8 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Wed, 7 Feb 2024 15:25:10 -0700
-Subject: [PATCH 14/29] Linux 6.8: Add function prototypes for krb5
+Subject: [PATCH 14/32] Linux 6.8: Add function prototypes for krb5
The external files for heimdal/krb5 do not provide function prototypes
in a header file that is used when building files that we use from
@@ -30,6 +30,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 612927dd1dd44bbd08eda790de12b24213583156)
Change-Id: Iaae28186a24c3c5ca4407de9563c8cfed9644921
+Reviewed-on: https://gerrit.openafs.org/15692
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/crypto/rfc3961/krb5_locl.h | 132 +++++++++++++++++++++++++++++++++
1 file changed, 132 insertions(+)
@@ -178,5 +183,5 @@ index 6e706737c..04292eefa 100644
struct _krb5_checksum_type * _krb5_find_checksum (krb5_cksumtype);
--
-2.44.0
+2.45.1
diff --git a/0015-afs-Declare-init_hckernel_mutex.patch b/0015-afs-Declare-init_hckernel_mutex.patch
index db31b6cc0a48..3b0ed0011330 100644
--- a/0015-afs-Declare-init_hckernel_mutex.patch
+++ b/0015-afs-Declare-init_hckernel_mutex.patch
@@ -1,7 +1,7 @@
-From c3f5353b03396d89b2a1595ca3a38d4312cb62cf Mon Sep 17 00:00:00 2001
+From 25e17fe7196fd4a46e6a9408d135812ca53ddf80 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Thu, 8 Feb 2024 11:50:16 -0700
-Subject: [PATCH 15/29] afs: Declare init_hckernel_mutex()
+Subject: [PATCH 15/32] afs: Declare init_hckernel_mutex()
The function init_hckernel_mutex() (in rand.c) is flagged due to a
missing prototype when building against a Linux 6.8 kernel (which sets
@@ -23,6 +23,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit ccc2af429710104793fb4659b10697cceab182b3)
Change-Id: Ic5eb4584a980657a01a1cb4411c0c1f03b1f3560
+Reviewed-on: https://gerrit.openafs.org/15693
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Tested-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_osi.c | 5 -----
src/afs/afs_osi.h | 5 +++++
@@ -59,5 +64,5 @@ index 79c44a985..e3f0e0ccb 100644
+
#endif /* _AFS_OSI_ */
--
-2.44.0
+2.45.1
diff --git a/0016-afs-Add-includes-to-pick-up-function-prototypes.patch b/0016-afs-Add-includes-to-pick-up-function-prototypes.patch
index f8cce55804f2..8d0f09a3ebba 100644
--- a/0016-afs-Add-includes-to-pick-up-function-prototypes.patch
+++ b/0016-afs-Add-includes-to-pick-up-function-prototypes.patch
@@ -1,7 +1,7 @@
-From 5e3f30520ee000690b7097bdea7d3f35fe0fcfd3 Mon Sep 17 00:00:00 2001
+From 8b516820abf1edace60276152e9ed18a0b30fc13 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Mon, 12 Feb 2024 08:25:47 -0700
-Subject: [PATCH 16/29] afs: Add includes to pick up function prototypes
+Subject: [PATCH 16/32] afs: Add includes to pick up function prototypes
The functions defined in LINUX/osi_crypto.c, osi_pagecopy.c,
osi_probe.c, and osi_syscall.c have function prototypes defined in
@@ -28,6 +28,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 3683f15278e34e13d7272928eaf666f0acc4e1e9)
Change-Id: Iac704fc98d0d685358224049f383d68aa7a105f8
+Reviewed-on: https://gerrit.openafs.org/15694
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/LINUX/osi_crypto.c | 3 +++
src/afs/LINUX/osi_pagecopy.c | 1 +
@@ -116,5 +121,5 @@ index 836491c29..5e9e5194a 100644
#include <linux/mm.h>
--
-2.44.0
+2.45.1
diff --git a/0017-afs-Move-function-prototypes-into-headers.patch b/0017-afs-Move-function-prototypes-into-headers.patch
index 81d2767af097..df94fa2f9a3b 100644
--- a/0017-afs-Move-function-prototypes-into-headers.patch
+++ b/0017-afs-Move-function-prototypes-into-headers.patch
@@ -1,7 +1,7 @@
-From 1505e0d19cba9b66d0e357f6eafdde15f638eb2e Mon Sep 17 00:00:00 2001
+From c04c2d07226583846c3949a4855c7db4316438da Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Thu, 15 Feb 2024 09:00:05 -0700
-Subject: [PATCH 17/29] afs: Move function prototypes into headers
+Subject: [PATCH 17/32] afs: Move function prototypes into headers
Several .c files contain external function prototypes, while the
implementing files do not have these prototypes.
@@ -32,6 +32,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 85781d7e83ae4501d8ab267bf55ef63f90f63101)
Change-Id: I74333e99e08af88bebdcbff4767d79397acac358
+Reviewed-on: https://gerrit.openafs.org/15695
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/LINUX/osi_ioctl.c | 3 ---
src/afs/LINUX/osi_syscall.c | 3 ---
@@ -140,5 +145,5 @@ index 208bd0338..9b3b1afec 100644
extern int afs_readdir(OSI_VC_DECL(avc), struct uio *auio,
afs_ucred_t *acred, int *eofp);
--
-2.44.0
+2.45.1
diff --git a/0018-afs-Add-afs_xioctl-prototyes-to-afs_prototypes.h.patch b/0018-afs-Add-afs_xioctl-prototyes-to-afs_prototypes.h.patch
index e6849d8433bf..124949aeded8 100644
--- a/0018-afs-Add-afs_xioctl-prototyes-to-afs_prototypes.h.patch
+++ b/0018-afs-Add-afs_xioctl-prototyes-to-afs_prototypes.h.patch
@@ -1,7 +1,7 @@
-From 3c7e96e5c163597ec65d238d3357881346ab2dd3 Mon Sep 17 00:00:00 2001
+From 96932160fa8ef1cf4422e9e1d1ca2a449f8ffe93 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Mon, 12 Feb 2024 08:59:32 -0700
-Subject: [PATCH 18/29] afs: Add afs_xioctl prototyes to afs_prototypes.h
+Subject: [PATCH 18/32] afs: Add afs_xioctl prototyes to afs_prototypes.h
Several .c files have external function prototypes for the afs_xioctl
function, while the implementing files do not have the prototype.
@@ -29,6 +29,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 575d986aa6c18ac27ea42fb66ae8b8cb0e27fe6c)
Change-Id: If746111fdcf6a00459f524711623d322d5fc7942
+Reviewed-on: https://gerrit.openafs.org/15696
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/FBSD/osi_vfsops.c | 1 -
src/afs/HPUX/osi_vfsops.c | 2 +-
@@ -158,5 +163,5 @@ index 9b3b1afec..d7894dd67 100644
/* afs_segments.c */
extern int afs_StoreAllSegments(struct vcache *avc,
--
-2.44.0
+2.45.1
diff --git a/0019-afs-Remove-SRXAFSCB-protos-from-afs_prototypes.h.patch b/0019-afs-Remove-SRXAFSCB-protos-from-afs_prototypes.h.patch
index ef297f01673e..14816e5d5618 100644
--- a/0019-afs-Remove-SRXAFSCB-protos-from-afs_prototypes.h.patch
+++ b/0019-afs-Remove-SRXAFSCB-protos-from-afs_prototypes.h.patch
@@ -1,7 +1,7 @@
-From 93669f535752e759b820a21883a6a8c6fba4e73e Mon Sep 17 00:00:00 2001
+From 53752b01bc734f4bd5f5da24ac116c7fcb2ac07f Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Mon, 12 Feb 2024 09:43:29 -0700
-Subject: [PATCH 19/29] afs: Remove SRXAFSCB* protos from afs_prototypes.h
+Subject: [PATCH 19/32] afs: Remove SRXAFSCB* protos from afs_prototypes.h
The prototypes for the afscbint RPC functions (SRXAFSCB_*) implemented
in afs_callback.c are defined in 2 locations, afs_protypes.h and
@@ -33,6 +33,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit fae4003b403420d0b548920c7837a2d2b6e432ae)
Change-Id: I7d435455fc60cc10200ee91d0d76534367ab5883
+Reviewed-on: https://gerrit.openafs.org/15697
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_callback.c | 2 ++
src/afs/afs_prototypes.h | 37 -------------------------------------
@@ -102,5 +107,5 @@ index d7894dd67..b9811f892 100644
/* afs_cbqueue.c */
extern afs_rwlock_t afs_xcbhash;
--
-2.44.0
+2.45.1
diff --git a/0020-rx-Add-function-prototypes-to-rx_prototypes.h.patch b/0020-rx-Add-function-prototypes-to-rx_prototypes.h.patch
index 1d2b2f656e12..76e8226cf7d4 100644
--- a/0020-rx-Add-function-prototypes-to-rx_prototypes.h.patch
+++ b/0020-rx-Add-function-prototypes-to-rx_prototypes.h.patch
@@ -1,7 +1,7 @@
-From 46608e2f629b8742d31752cc0b021420231e6f45 Mon Sep 17 00:00:00 2001
+From 09f9660fbbb4f3c20ba9f2283169818372c3f474 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Wed, 7 Feb 2024 19:34:29 -0700
-Subject: [PATCH 20/29] rx: Add function prototypes to rx_prototypes.h
+Subject: [PATCH 20/32] rx: Add function prototypes to rx_prototypes.h
The prototype for rxk_NewSocketHost() is not in a header file, but is
defined in the referencing .c file. The ARCH/rx_knet.c files that
@@ -37,6 +37,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 8528c36b96fe2935f42188caabf4feed0d5dbcbd)
Change-Id: Ieae8be7f89f5c675c6580d8cfb02ea77ce4088f7
+Reviewed-on: https://gerrit.openafs.org/15698
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/rx/rx_kcommon.c | 1 -
src/rx/rx_prototypes.h | 5 ++++-
@@ -80,5 +85,5 @@ index 87a1049f7..6e1ae566c 100644
# ifdef UKERNEL
extern void afs_rxevent_daemon(void);
--
-2.44.0
+2.45.1
diff --git a/0021-afs-fix-ops-variable-may-be-used-uninitialized.patch b/0021-afs-fix-ops-variable-may-be-used-uninitialized.patch
index e62db4e1379c..8aaac72c3e3c 100644
--- a/0021-afs-fix-ops-variable-may-be-used-uninitialized.patch
+++ b/0021-afs-fix-ops-variable-may-be-used-uninitialized.patch
@@ -1,7 +1,7 @@
-From 216078c99ab6d65ba607d5d7522fdb154048ea59 Mon Sep 17 00:00:00 2001
+From 90b8dcff36e9b03ec01550ad1a070a0ab7db8c46 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Fri, 9 Feb 2024 09:01:33 -0700
-Subject: [PATCH 21/29] afs: fix 'ops' variable may be used uninitialized
+Subject: [PATCH 21/32] afs: fix 'ops' variable may be used uninitialized
When the function rxfs_storeInit() has the static attribute, gcc flags
the variable 'ops' as possibly uninitialized.
@@ -49,6 +49,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 36e4c02ff27b9d66755b9544778896b9b1e5c391)
Change-Id: I9d8a07e576c6bf889f8f182c6fc0d34dc997c004
+Reviewed-on: https://gerrit.openafs.org/15699
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/afs_fetchstore.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -76,5 +81,5 @@ index 7b35b8f7f..63b370dae 100644
#ifdef AFS_64BIT_CLIENT
restart:
--
-2.44.0
+2.45.1
diff --git a/0022-afs-Add-static-attribute-to-internal-functions.patch b/0022-afs-Add-static-attribute-to-internal-functions.patch
index f6426e79cb4b..92ddfb24f264 100644
--- a/0022-afs-Add-static-attribute-to-internal-functions.patch
+++ b/0022-afs-Add-static-attribute-to-internal-functions.patch
@@ -1,7 +1,7 @@
-From d82082f27ba7308c41c7e2ef7585ed33d384bad7 Mon Sep 17 00:00:00 2001
+From 195f154aaf2d8aff1f6debdb47c0db8f07cb5c5e Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Thu, 29 Feb 2024 17:53:31 -0700
-Subject: [PATCH 22/29] afs: Add static attribute to internal functions
+Subject: [PATCH 22/32] afs: Add static attribute to internal functions
When building against a Linux 6.8 kernel, functions that are missing
prototypes or declarations are flagged.
@@ -25,6 +25,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit efee796f28b53bf3ffc03186f81790c36c23c94c)
Change-Id: I0d923a65731f825d6c190056b0ccc3d362236706
+Reviewed-on: https://gerrit.openafs.org/15700
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Tested-by: Benjamin Kaduk <kaduk@mit.edu>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/LINUX/osi_file.c | 2 +-
src/afs/LINUX/osi_module.c | 4 ++--
@@ -483,5 +488,5 @@ index e72b45ea4..f500b65a3 100644
{
/*
--
-2.44.0
+2.45.1
diff --git a/0023-rx-Add-static-attribute-to-internal-functions.patch b/0023-rx-Add-static-attribute-to-internal-functions.patch
index 4b4736ce91c5..7145f3be39f8 100644
--- a/0023-rx-Add-static-attribute-to-internal-functions.patch
+++ b/0023-rx-Add-static-attribute-to-internal-functions.patch
@@ -1,7 +1,7 @@
-From 5c40a30514681080a304c9a284e991371ad33689 Mon Sep 17 00:00:00 2001
+From 4c92936aefede187e57a9a433c0c192af2fc5e84 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Fri, 12 Jan 2024 15:30:23 -0700
-Subject: [PATCH 23/29] rx: Add static attribute to internal functions
+Subject: [PATCH 23/32] rx: Add static attribute to internal functions
When building against a Linux 6.8 kernel, functions that are missing
prototypes or declarations are flagged.
@@ -27,6 +27,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 55adceba2d561ec4e89235de329782a68e603a11)
Change-Id: I1b2a6e1c07bd4b75b7b83e177f17865eb903e488
+Reviewed-on: https://gerrit.openafs.org/15701
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/rx/rx.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
@@ -72,5 +77,5 @@ index aaec60907..d6c52c369 100644
{
rpc_stat->invocations = 0;
--
-2.44.0
+2.45.1
diff --git a/0024-rxgen-Declare-generated-PKG_TranslateOpCode.patch b/0024-rxgen-Declare-generated-PKG_TranslateOpCode.patch
index ed16d683fa47..5fa28d27b4cd 100644
--- a/0024-rxgen-Declare-generated-PKG_TranslateOpCode.patch
+++ b/0024-rxgen-Declare-generated-PKG_TranslateOpCode.patch
@@ -1,7 +1,7 @@
-From 8b9831622af6da269d12668e1b50816872dafcc7 Mon Sep 17 00:00:00 2001
+From 57e0192a690942c2a0f4f1f685cfadf2106b763a Mon Sep 17 00:00:00 2001
From: Andrew Deason <adeason@sinenomine.net>
Date: Tue, 7 Dec 2021 15:43:35 -0600
-Subject: [PATCH 24/29] rxgen: Declare generated PKG_TranslateOpCode()
+Subject: [PATCH 24/32] rxgen: Declare generated PKG_TranslateOpCode()
Ever since commit 5c77a6ca (rxgen: add *TranslateOpcode functions to
XDR code), rxgen generates a PKG_TranslateOpCode function in the
@@ -21,6 +21,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 9b2c27fc6d299cb0b23eca3e8cb25b7e0c41b11a)
Change-Id: I2479ff7f6579769b3319b2939ffde60fe570c880
+Reviewed-on: https://gerrit.openafs.org/15702
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/rxgen/rpc_parse.c | 4 ++++
1 file changed, 4 insertions(+)
@@ -48,5 +53,5 @@ index 768e42f3b..59854f4d5 100644
void
--
-2.44.0
+2.45.1
diff --git a/0025-rxgen-Declare-generated-PKG_OpCodeStats.patch b/0025-rxgen-Declare-generated-PKG_OpCodeStats.patch
index e74a7bfb8214..ddff4708038f 100644
--- a/0025-rxgen-Declare-generated-PKG_OpCodeStats.patch
+++ b/0025-rxgen-Declare-generated-PKG_OpCodeStats.patch
@@ -1,7 +1,7 @@
-From 53c988023e7e6087026d6ed795ed4a13ea39cb94 Mon Sep 17 00:00:00 2001
+From fef1fc6f740c6f7395cf51ce99ed296652579c7d Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Tue, 5 Mar 2024 07:40:08 -0700
-Subject: [PATCH 25/29] rxgen: Declare generated PKG_OpCodeStats()
+Subject: [PATCH 25/32] rxgen: Declare generated PKG_OpCodeStats()
The function {PKG}_OpCodeStats() is generated by rxgen, however a
prototype for the function is not generated.
@@ -31,6 +31,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 26bb4d143b31ba027cf2721ac731df67a174c43b)
Change-Id: I9072d22d142b5b7a2f59b0cfc4026066ef1d9501
+Reviewed-on: https://gerrit.openafs.org/15703
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/rxgen/rpc_parse.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
@@ -66,5 +71,5 @@ index 59854f4d5..e648a6600 100644
void
--
-2.44.0
+2.45.1
diff --git a/0026-Linux-6.8-use-hlist-iteration-for-dentry-children.patch b/0026-Linux-6.8-use-hlist-iteration-for-dentry-children.patch
index e15bc3b11325..14406373030e 100644
--- a/0026-Linux-6.8-use-hlist-iteration-for-dentry-children.patch
+++ b/0026-Linux-6.8-use-hlist-iteration-for-dentry-children.patch
@@ -1,7 +1,7 @@
-From 9befccd11d338dfc7220a3ae3695634cefd2c359 Mon Sep 17 00:00:00 2001
+From 18a2a932df9c1b6b3c7513a6c161d4259f052ca9 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Mon, 12 Feb 2024 12:31:30 -0700
-Subject: [PATCH 26/29] Linux 6.8: use hlist iteration for dentry children
+Subject: [PATCH 26/32] Linux 6.8: use hlist iteration for dentry children
Linux 6.8 commit 'dentry: switch the lists of children to hlist'
(da549bdd15) replaces the dentry lists d_subdirs/d_child with the hlist
@@ -20,6 +20,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 8e0bbe6a07523dd2e7efb3c9d1b4ad9e19fc9bb7)
Change-Id: Ief4c334c4ef3e54822e068dcdf654541e86b9176
+Reviewed-on: https://gerrit.openafs.org/15704
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Tested-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/LINUX/osi_vcache.c | 10 +++++++++-
src/cf/linux-kernel-struct.m4 | 3 +++
@@ -68,5 +73,5 @@ index 2824ec198..5cd346fb5 100644
AC_CHECK_LINUX_STRUCT([group_info], [gid], [cred.h])
AC_CHECK_LINUX_STRUCT([inode], [i_alloc_sem], [fs.h])
--
-2.44.0
+2.45.1
diff --git a/0027-Linux-6.8-Remove-ctl_table-sentinels.patch b/0027-Linux-6.8-Remove-ctl_table-sentinels.patch
index 24bbd0b973c6..d5e5b84a9d9d 100644
--- a/0027-Linux-6.8-Remove-ctl_table-sentinels.patch
+++ b/0027-Linux-6.8-Remove-ctl_table-sentinels.patch
@@ -1,7 +1,7 @@
-From f9f074e6f9a3114b1926a90bd7810bfa192f9886 Mon Sep 17 00:00:00 2001
+From 6333fae573f8a7b7656e9c1b05d445a37b951b88 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Tue, 5 Mar 2024 08:37:47 -0700
-Subject: [PATCH 27/29] Linux 6.8: Remove ctl_table sentinels
+Subject: [PATCH 27/32] Linux 6.8: Remove ctl_table sentinels
The Linux 6.8 commit 'sysctl: Remove the now superfluous sentinel
elements from ctl_table array' (c8a65501d3) was a clean up commit
@@ -36,6 +36,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 35c8c1bf0b1cb48178f676ba5bcf16ad59c5a33b)
Change-Id: I34cb7586003e10a6c7438d7205123d57af30585e
+Reviewed-on: https://gerrit.openafs.org/15705
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/LINUX/osi_sysctl.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
@@ -82,5 +87,5 @@ index a0a039892..c1116fc79 100644
# endif
int
--
-2.44.0
+2.45.1
diff --git a/0028-Linux-6.8-Use-roken-s-strlcpy-in-kernel-module.patch b/0028-Linux-6.8-Use-roken-s-strlcpy-in-kernel-module.patch
index 16b7091a1d7e..ddd678f96dc0 100644
--- a/0028-Linux-6.8-Use-roken-s-strlcpy-in-kernel-module.patch
+++ b/0028-Linux-6.8-Use-roken-s-strlcpy-in-kernel-module.patch
@@ -1,7 +1,7 @@
-From b6458796f2deef285fd0ad06480b5fc35cd8acb3 Mon Sep 17 00:00:00 2001
+From 7b4802efaf29ef76969c8b931a31e93dd4fbb000 Mon Sep 17 00:00:00 2001
From: Cheyenne Wills <cwills@sinenomine.net>
Date: Mon, 11 Mar 2024 09:05:33 -0600
-Subject: [PATCH 28/29] Linux 6.8: Use roken's strlcpy() in kernel module
+Subject: [PATCH 28/32] Linux 6.8: Use roken's strlcpy() in kernel module
The Linux 6.8 commit 'string: Remove strlcpy()' (d26270061a) removed the
the strlcpy function from the Linux kernel. The replacement function,
@@ -35,6 +35,11 @@ Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 30b18c165752e6d0ce7b6daa6a90453f5e5e6d17)
Change-Id: I8013623e8f735d15bb7d4ac84ed0867f12b77783
+Reviewed-on: https://gerrit.openafs.org/15706
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
---
src/afs/LINUX/osi_machdep.h | 1 +
src/cf/linux-kernel-func.m4 | 11 +++++++++++
@@ -152,5 +157,5 @@ index 8744ab8b6..6e62c8c97 100644
AFS_OS_NFSOBJS =
--
-2.44.0
+2.45.1
diff --git a/0029-Linux-Remove-weak-attribute-for-key_type_keyring.patch b/0029-Linux-Remove-weak-attribute-for-key_type_keyring.patch
new file mode 100644
index 000000000000..085ffe4d033a
--- /dev/null
+++ b/0029-Linux-Remove-weak-attribute-for-key_type_keyring.patch
@@ -0,0 +1,91 @@
+From d1a42401fddc51bd2f16da39dfebe0f60fc670ad Mon Sep 17 00:00:00 2001
+From: Cheyenne Wills <cwills@sinenomine.net>
+Date: Thu, 29 Feb 2024 17:58:17 -0700
+Subject: [PATCH 29/32] Linux: Remove weak attribute for key_type_keyring
+
+The reference to the Linux symbol key_type_keyring uses a weak
+attribute to assist in determining if the symbol is exported. This
+method was introduced in commit: 'keyring-updated-20080310' (b7fb842b1c)
+as a way to detect if the symbol was exported by the Linux kernel. A
+later commit: 'linux-keyring-export-check-20090701' (4ca66112c2)
+introduced an autoconf test that eliminated the need for using the weak
+attribute, but the commit did not remove the attribute.
+
+On a Debian-12 system on ARM64 the use of the weak attribute in this
+case causes an error when loading the kernel module:
+ "ERROR: could not insert 'openafs': Exec format error".
+The error is due to the Linux module loader not supporting the
+relocation entry type in the openafs kernel module for the
+key_type_keyring. Further investigation showed that this problem could
+occur with gcc-12 on a ARM64 system (see below for additional
+information).
+
+The code in osi_groups.c uses a pointer, __key_type_keyring, to the
+key_type_keyring. When this symbol is exported by the Linux kernel, the
+loader would resolve the address and __key_type_keyring would contain
+the address. If the key_type_keyring symbol was not exported,
+__key_type_keyring would be set to NULL (due to the weak attribute
+associated with key_type_keyring).
+
+Remove the weak attribute for key_type_keyring when the configure
+test, introduced in the 4ca66112c2 commit, determines that the symbol
+is exported (EXPORTED_KEY_TYPE_KEYRING is defined). When the symbol
+isn't exported (pre Linux 2.6.22), just set the pointer,
+__key_type_keyring to NULL.
+
+NOTE:
+
+The load error was reported on the openafs IRC channel by "clarkb"
+
+The problem of loading the openafs kernel module was also observed
+on a NixOS system as well, and is described in the NixOS ticket
+
+ https://github.com/NixOS/nixpkgs/issues/284501
+
+A Debian-11 system did not have a problem loading the openafs kernel
+module. Investigation of the differences between Debian-11 and Debian-12
+showed that the problem is due to a series of fixes in the toolchain
+(in particular gcc-12) to address 'Cortex-A53 erratum #843419', which
+deals with how the ARM64 ADRP instruction is used. With gcc-12, the
+code generated uses a R_AARCH64_ADR_GOT for this particular case (which
+isn't supported by the Linux kernel module loader). Gcc-11 created a
+R_AARCH64_ABS64 relocation entry type for the symbol.
+
+Reviewed-on: https://gerrit.openafs.org/15668
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
+(cherry picked from commit 2f260825b96b76556aba82fc364c841357a23a7d)
+
+Change-Id: Ifce08cb01f0b642ee9c2d90480b8a1766dfc52ff
+Reviewed-on: https://gerrit.openafs.org/15728
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
+---
+ src/afs/LINUX/osi_groups.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/afs/LINUX/osi_groups.c b/src/afs/LINUX/osi_groups.c
+index 87d149f56..901312d2a 100644
+--- a/src/afs/LINUX/osi_groups.c
++++ b/src/afs/LINUX/osi_groups.c
+@@ -166,8 +166,11 @@ __setpag(cred_t **cr, afs_uint32 pagvalue, afs_uint32 *newpag,
+ }
+
+ #ifdef LINUX_KEYRING_SUPPORT
+-extern struct key_type key_type_keyring __attribute__((weak));
++# if defined(EXPORTED_KEY_TYPE_KEYRING)
+ static struct key_type *__key_type_keyring = &key_type_keyring;
++# else
++static struct key_type *__key_type_keyring;
++# endif
+
+ /* install_session_keyring returns negative error values */
+ static int
+--
+2.45.1
+
diff --git a/0029-afs-Drop-GLOCK-for-various-Rx-calls.patch b/0029-afs-Drop-GLOCK-for-various-Rx-calls.patch
deleted file mode 100644
index 02b30b80d7b2..000000000000
--- a/0029-afs-Drop-GLOCK-for-various-Rx-calls.patch
+++ /dev/null
@@ -1,362 +0,0 @@
-From 35c339ec6b648deb02f7598c02df07b0c2ad0021 Mon Sep 17 00:00:00 2001
-From: Andrew Deason <adeason@dson.org>
-Date: Sun, 3 May 2020 10:33:28 -0500
-Subject: [PATCH 29/29] afs: Drop GLOCK for various Rx calls
-
-Most calls into Rx from libafs do so without the AFS_GLOCK, but a few
-pieces of code still hold AFS_GLOCK while making some Rx calls. A few
-calls into Rx also currently require AFS_GLOCK, but drop AFS_GLOCK
-internally, which is somewhat confusing/inconsistent. Calling Rx
-functions with AFS_GLOCK held can potentially cause locking/allocation
-problems on various platforms, such as FreeBSD where we get WITNESS
-warnings about acquiring sleepable Rx locks while holding the
-non-sleepable AFS_GLOCK.
-
-Fix a variety of Rx calls from libafs to drop AFS_GLOCK before calling
-into Rx. Specifically, this commit handles calls to rxi_GetIFInfo,
-rx_InitHost, rx_StartServer, rx_ServerProc, rx_GetConnection,
-rx_DestroyConnection/rx_PutConnection, and
-rx_SetConnSecondsUntilNatPing.
-
-For calls made via afs_start_thread, adjust afs_start_thread to accept
-a new argument that says whether to acquire AFS_GLOCK for the relevant
-function or not.
-
-For a call to rx_InitHost inside afs_InitSetup, dropping GLOCK makes
-it possible for another thread to also enter afs_InitSetup while we're
-running, before afs_InitSetup_done is set. To prevent two threads from
-running afs_InitSetup in parallel, introduce afs_InitSetup_running
-(which is set while afs_InitSetup is running), and simply wait for it
-to be cleared if it is set when we enter afs_InitSetup.
-
-This commit does not handle strictly all calls into Rx from libafs,
-since many Rx calls don't do anything interesting besides set some
-internal variables, and so AFS_GLOCK doesn't really matter for them,
-and dropping/reacquiring it around those calls may have performance
-impact.
-
-Reviewed-on: https://gerrit.openafs.org/14184
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-(cherry picked from commit d5e1428a3bd4a7fbb4401cf17176474f0c1825d3)
-
- Conflicts:
- src/afs/afs_call.c - context only due to not having commit:
- 'Log binding ip address and port during startup' (02dede5d40)
-
-Change-Id: I0d14105d5dc8bfd4740c7a9adfc61c36f8a2318c
----
- src/afs/LINUX/osi_misc.c | 22 +++++++++++++++++++---
- src/afs/LINUX/osi_prototypes.h | 2 +-
- src/afs/afs_call.c | 19 ++++++++++++++++++-
- src/afs/afs_callback.c | 2 ++
- src/afs/afs_conn.c | 6 ++++++
- src/afs/afs_daemons.c | 14 ++++++++------
- src/afs/afs_init.c | 2 ++
- src/afs/afs_pag_call.c | 15 ++++++++++-----
- src/rx/rx_kcommon.c | 10 ----------
- 9 files changed, 66 insertions(+), 26 deletions(-)
-
-diff --git a/src/afs/LINUX/osi_misc.c b/src/afs/LINUX/osi_misc.c
-index aa5d5fc93..be6984661 100644
---- a/src/afs/LINUX/osi_misc.c
-+++ b/src/afs/LINUX/osi_misc.c
-@@ -155,7 +155,18 @@ int osi_abspath(char *aname, char *buf, int buflen,
-
-
- /* This could use some work, and support on more platforms. */
--int afs_thread_wrapper(void *rock)
-+static int
-+afs_thread_wrapper(void *rock)
-+{
-+ void (*proc)(void) = rock;
-+ __module_get(THIS_MODULE);
-+ (*proc)();
-+ module_put(THIS_MODULE);
-+ return 0;
-+}
-+
-+static int
-+afs_thread_wrapper_glock(void *rock)
- {
- void (*proc)(void) = rock;
- __module_get(THIS_MODULE);
-@@ -166,7 +177,12 @@ int afs_thread_wrapper(void *rock)
- return 0;
- }
-
--void afs_start_thread(void (*proc)(void), char *name)
-+void
-+afs_start_thread(void (*proc)(void), char *name, int needs_glock)
- {
-- kthread_run(afs_thread_wrapper, proc, "%s", name);
-+ if (needs_glock) {
-+ kthread_run(afs_thread_wrapper_glock, proc, "%s", name);
-+ } else {
-+ kthread_run(afs_thread_wrapper, proc, "%s", name);
-+ }
- }
-diff --git a/src/afs/LINUX/osi_prototypes.h b/src/afs/LINUX/osi_prototypes.h
-index 130b5660e..2ed054339 100644
---- a/src/afs/LINUX/osi_prototypes.h
-+++ b/src/afs/LINUX/osi_prototypes.h
-@@ -50,7 +50,7 @@ extern int osi_lookupname(char *aname, uio_seg_t seg, int followlink,
- struct dentry **dpp);
- extern int osi_abspath(char *aname, char *buf, int buflen,
- int followlink, char **pathp);
--extern void afs_start_thread(void (*proc)(void), char *name);
-+extern void afs_start_thread(void (*proc)(void), char *name, int needs_glock);
-
- /* osi_probe.c */
- extern void *osi_find_syscall_table(int which);
-diff --git a/src/afs/afs_call.c b/src/afs/afs_call.c
-index 4ac63b187..7fb323c29 100644
---- a/src/afs/afs_call.c
-+++ b/src/afs/afs_call.c
-@@ -104,11 +104,19 @@ extern afs_int32 afs_md5inum;
- static int
- afs_InitSetup(int preallocs)
- {
-+ static int afs_InitSetup_running;
-+
- int code;
-
-+ while (afs_InitSetup_running) {
-+ afs_osi_Sleep(&afs_InitSetup_running);
-+ }
-+
- if (afs_InitSetup_done)
- return EAGAIN;
-
-+ afs_InitSetup_running = 1;
-+
- #ifdef AFS_SUN510_ENV
- /* Initialize a RW lock for the ifinfo global array */
- rw_init(&afsifinfo_lock, NULL, RW_DRIVER, NULL);
-@@ -133,10 +141,12 @@ afs_InitSetup(int preallocs)
- /* start RX */
- if(!afscall_set_rxpck_received)
- rx_extraPackets = AFS_NRXPACKETS; /* smaller # of packets */
-+ AFS_GUNLOCK();
- code = rx_InitHost(rx_bindhost, htons(7001));
-+ AFS_GLOCK();
- if (code) {
- afs_warn("AFS: RX failed to initialize %d).\n", code);
-- return code;
-+ goto done;
- }
- rx_SetRxDeadTime(afs_rx_deadtime);
- /* resource init creates the services */
-@@ -145,6 +155,9 @@ afs_InitSetup(int preallocs)
- afs_InitSetup_done = 1;
- afs_osi_Wakeup(&afs_InitSetup_done);
-
-+ done:
-+ afs_InitSetup_running = 0;
-+ afs_osi_Wakeup(&afs_InitSetup_running);
- return code;
- }
-
-@@ -1703,7 +1716,9 @@ afs_shutdown(enum afs_shutdown_type cold_flag)
- afs_warn("CB... ");
-
- afs_termState = AFSOP_STOP_RXCALLBACK;
-+ AFS_GUNLOCK();
- rx_WakeupServerProcs();
-+ AFS_GLOCK();
- #ifdef AFS_AIX51_ENV
- shutdown_rxkernel();
- #endif
-@@ -1756,7 +1771,9 @@ afs_shutdown(enum afs_shutdown_type cold_flag)
- afs_warn("NetIfPoller... ");
- osi_StopNetIfPoller();
- #endif
-+ AFS_GUNLOCK();
- rxi_FreeAllPackets();
-+ AFS_GLOCK();
-
- afs_termState = AFSOP_STOP_COMPLETE;
-
-diff --git a/src/afs/afs_callback.c b/src/afs/afs_callback.c
-index 1fe990edf..7cffef6ff 100644
---- a/src/afs/afs_callback.c
-+++ b/src/afs/afs_callback.c
-@@ -985,7 +985,9 @@ afs_RXCallBackServer(void)
- /*
- * Donate this process to Rx.
- */
-+ AFS_GUNLOCK();
- rx_ServerProc(NULL);
-+ AFS_GLOCK();
- return (0);
-
- } /*afs_RXCallBackServer */
-diff --git a/src/afs/afs_conn.c b/src/afs/afs_conn.c
-index 2a3a513b2..8728ce518 100644
---- a/src/afs/afs_conn.c
-+++ b/src/afs/afs_conn.c
-@@ -532,7 +532,9 @@ afs_ConnBySA(struct srvAddr *sap, unsigned short aport, afs_int32 acell,
- */
- if ((service != 52) && (sap->natping == NULL)) {
- sap->natping = tc;
-+ AFS_GUNLOCK();
- rx_SetConnSecondsUntilNatPing(tc->id, 20);
-+ AFS_GLOCK();
- }
-
- tc->forceConnectFS = 0; /* apparently we're appropriately connected now */
-@@ -542,7 +544,9 @@ afs_ConnBySA(struct srvAddr *sap, unsigned short aport, afs_int32 acell,
- } /* end of if (tc->forceConnectFS)*/
-
- *rxconn = tc->id;
-+ AFS_GUNLOCK();
- rx_GetConnection(*rxconn);
-+ AFS_GLOCK();
-
- ReleaseSharedLock(&afs_xconn);
- return tc;
-@@ -672,7 +676,9 @@ afs_PutConn(struct afs_conn *ac, struct rx_connection *rxconn,
- (unsigned long)(uintptrsz)ac, (int)ac->refCount);
- }
- ac->parent->refCount--;
-+ AFS_GUNLOCK();
- rx_PutConnection(rxconn);
-+ AFS_GLOCK();
- } /*afs_PutConn */
-
-
-diff --git a/src/afs/afs_daemons.c b/src/afs/afs_daemons.c
-index 1879772fb..632aa849b 100644
---- a/src/afs/afs_daemons.c
-+++ b/src/afs/afs_daemons.c
-@@ -223,19 +223,21 @@ afs_Daemon(void)
- }
- }
- if (last10MinCheck + 600 < now) {
-+ int addrs_changed;
- #ifdef AFS_USERSPACE_IP_ADDR
- extern int rxi_GetcbiInfo(void);
- #endif
- afs_Trace1(afs_iclSetp, CM_TRACE_PROBEUP, ICL_TYPE_INT32, 600);
- #ifdef AFS_USERSPACE_IP_ADDR
-- if (rxi_GetcbiInfo()) { /* addresses changed from last time */
-- afs_FlushCBs();
-- }
--#else /* AFS_USERSPACE_IP_ADDR */
-- if (rxi_GetIFInfo()) { /* addresses changed from last time */
-+ addrs_changed = rxi_GetcbiInfo();
-+#else
-+ AFS_GUNLOCK();
-+ addrs_changed = rxi_GetIFInfo();
-+ AFS_GLOCK();
-+#endif
-+ if (addrs_changed) { /* addresses changed from last time */
- afs_FlushCBs();
- }
--#endif /* else AFS_USERSPACE_IP_ADDR */
- if (!afs_CheckServerDaemonStarted)
- afs_CheckServers(0, NULL);
- afs_GCUserData(); /* gc old conns */
-diff --git a/src/afs/afs_init.c b/src/afs/afs_init.c
-index bdb791c1a..efa513256 100644
---- a/src/afs/afs_init.c
-+++ b/src/afs/afs_init.c
-@@ -554,7 +554,9 @@ afs_ResourceInit(int preallocs)
- afs_server =
- rx_NewService(0, RX_STATS_SERVICE_ID, "rpcstats", &secobj, 1,
- RXSTATS_ExecuteRequest);
-+ AFS_GUNLOCK();
- rx_StartServer(0);
-+ AFS_GLOCK();
- afs_osi_Wakeup(&afs_server); /* wakeup anyone waiting for it */
- return 0;
-
-diff --git a/src/afs/afs_pag_call.c b/src/afs/afs_pag_call.c
-index 610cfb3a8..9b7a90631 100644
---- a/src/afs/afs_pag_call.c
-+++ b/src/afs/afs_pag_call.c
-@@ -91,10 +91,13 @@ afspag_Init(afs_int32 nfs_server_addr)
- afs_uuid_create(&afs_cb_interface.uuid);
-
- AFS_GLOCK();
--
- afs_InitStats();
-+ AFS_GUNLOCK();
-+
- rx_Init(htons(7001));
-
-+ AFS_GLOCK();
-+
- AFS_STATCNT(afs_ResourceInit);
- AFS_RWLOCK_INIT(&afs_xuser, "afs_xuser");
- AFS_RWLOCK_INIT(&afs_xpagcell, "afs_xpagcell");
-@@ -117,18 +120,20 @@ afspag_Init(afs_int32 nfs_server_addr)
- 1, RXSTATS_ExecuteRequest);
- pagcb_svc = rx_NewService(0, PAGCB_SERVICEID, "pagcb", &srv_secobj,
- 1, PAGCB_ExecuteRequest);
-+ AFS_GUNLOCK();
- rx_StartServer(0);
-+ AFS_GLOCK();
-
- clt_secobj = rxnull_NewClientSecurityObject();
- rmtsys_conn = rx_NewConnection(nfs_server_addr, htons(7009),
- RMTSYS_SERVICEID, clt_secobj, 0);
-
- #ifdef RXK_LISTENER_ENV
-- afs_start_thread(rxk_Listener, "Rx Listener");
-+ afs_start_thread(rxk_Listener, "Rx Listener", 1);
- #endif
-- afs_start_thread((void *)(void *)rx_ServerProc, "Rx Server Thread");
-- afs_start_thread(afs_rxevent_daemon, "Rx Event Daemon");
-- afs_start_thread(afs_Daemon, "AFS PAG Daemon");
-+ afs_start_thread((void *)(void *)rx_ServerProc, "Rx Server Thread", 0);
-+ afs_start_thread(afs_rxevent_daemon, "Rx Event Daemon", 1);
-+ afs_start_thread(afs_Daemon, "AFS PAG Daemon", 1);
-
- afs_icl_InitLogs();
-
-diff --git a/src/rx/rx_kcommon.c b/src/rx/rx_kcommon.c
-index c90df3d36..239cf1607 100644
---- a/src/rx/rx_kcommon.c
-+++ b/src/rx/rx_kcommon.c
-@@ -267,13 +267,7 @@ rx_ServerProc(void *unused)
- threadID = rxi_availProcs++;
- MUTEX_EXIT(&rx_quota_mutex);
-
--# ifdef RX_ENABLE_LOCKS
-- AFS_GUNLOCK();
--# endif /* RX_ENABLE_LOCKS */
- rxi_ServerProc(threadID, NULL, NULL);
--# ifdef RX_ENABLE_LOCKS
-- AFS_GLOCK();
--# endif /* RX_ENABLE_LOCKS */
-
- return NULL;
- }
-@@ -856,8 +850,6 @@ rxk_NewSocketHost(afs_uint32 ahost, short aport)
- # if (defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)) && defined(KERNEL_FUNNEL)
- thread_funnel_switch(KERNEL_FUNNEL, NETWORK_FUNNEL);
- # endif
-- AFS_ASSERT_GLOCK();
-- AFS_GUNLOCK();
- # if defined(AFS_HPUX102_ENV)
- # if defined(AFS_HPUX110_ENV)
- /* we need a file associated with the socket so sosend in NetSend
-@@ -997,14 +989,12 @@ rxk_NewSocketHost(afs_uint32 ahost, short aport)
- # endif /* else defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) */
- # endif /* else AFS_HPUX110_ENV */
-
-- AFS_GLOCK();
- # if defined(AFS_DARWIN_ENV) && defined(KERNEL_FUNNEL)
- thread_funnel_switch(NETWORK_FUNNEL, KERNEL_FUNNEL);
- # endif
- return (osi_socket *)newSocket;
-
- bad:
-- AFS_GLOCK();
- # if defined(AFS_DARWIN_ENV) && defined(KERNEL_FUNNEL)
- thread_funnel_switch(NETWORK_FUNNEL, KERNEL_FUNNEL);
- # endif
---
-2.44.0
-
diff --git a/0030-Linux-Define-afs_thread_wrapper-as-static.patch b/0030-Linux-Define-afs_thread_wrapper-as-static.patch
new file mode 100644
index 000000000000..9dce78058f05
--- /dev/null
+++ b/0030-Linux-Define-afs_thread_wrapper-as-static.patch
@@ -0,0 +1,58 @@
+From dfb6b53a6802e90f6bc2cd3cd39da467ce8e4488 Mon Sep 17 00:00:00 2001
+From: Cheyenne Wills <cwills@sinenomine.net>
+Date: Wed, 3 Apr 2024 11:36:54 -0600
+Subject: [PATCH 30/32] Linux: Define afs_thread_wrapper() as static
+
+When building against a Linux 6.8 kernel, functions that are missing
+prototypes or declarations are flagged.
+
+We can add the static attribute to functions that are not referenced
+outside of the file that implements them to avoid having these functions
+flagged by the compiler.
+
+These functions are flagged due to missing prototypes when building
+against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
+-Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
+ 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
+
+When building against a kernel with CONFIG_WERROR=y, the build fails.
+
+This is an openafs-1.8.x specific commit.
+
+The function afs_thread_wrapper() in LINUX/osi_misc.c on the master
+branch was changed to a static function with commit:
+ 'afs: Drop GLOCK for various Rx calls' (d5e1428a3b)
+However this is a larger change than needed to fix the build problem and
+the commit could have a significant impact for 1.8.x since it is
+changing rx locking. To avoid introducing such a change, just change
+the afs_thread_wrapper() to static as a 1.8.x specific commit.
+
+There are no functional changes in this commit.
+
+Change-Id: I4edc61e6a4989c16ccf41b935e205dbf209bf2a5
+Reviewed-on: https://gerrit.openafs.org/15727
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
+---
+ src/afs/LINUX/osi_misc.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/afs/LINUX/osi_misc.c b/src/afs/LINUX/osi_misc.c
+index aa5d5fc93..27f73cd1f 100644
+--- a/src/afs/LINUX/osi_misc.c
++++ b/src/afs/LINUX/osi_misc.c
+@@ -155,7 +155,8 @@ int osi_abspath(char *aname, char *buf, int buflen,
+
+
+ /* This could use some work, and support on more platforms. */
+-int afs_thread_wrapper(void *rock)
++static int
++afs_thread_wrapper(void *rock)
+ {
+ void (*proc)(void) = rock;
+ __module_get(THIS_MODULE);
+--
+2.45.1
+
diff --git a/0031-Linux-6.9-file_lock-mbrs-moved-to-file_lock_core.patch b/0031-Linux-6.9-file_lock-mbrs-moved-to-file_lock_core.patch
new file mode 100644
index 000000000000..a3276fffdb0c
--- /dev/null
+++ b/0031-Linux-6.9-file_lock-mbrs-moved-to-file_lock_core.patch
@@ -0,0 +1,232 @@
+From fd0d767b06ef8fb2c169d8948e0526349de92ff8 Mon Sep 17 00:00:00 2001
+From: Cheyenne Wills <cwills@sinenomine.net>
+Date: Mon, 15 Apr 2024 08:22:37 -0600
+Subject: [PATCH 31/32] Linux-6.9: file_lock mbrs moved to file_lock_core
+
+In the Linux 6.9 commit:
+ 'filelock: split common fields into struct file_lock_core' (a69ce85ec9)
+several fields were relocated into a new structure, file_lock_core,
+which was added as a member the file_lock structure. The names where
+changed (fl_x to flc_x).
+
+Add a configure test to determine if the new members (flc_type, flc_pid,
+and flc_flags) are available as part of the file_lock_core structure.
+
+Add static inline getter/setter routines to handle accessing the
+flc_type or flc_pid members in the file_lock_core structure, or the
+fl_type, fl_pid members in the file_lock structure as appropriate. Add
+static inline function to clear FL_SLEEP in the flc_flag in the
+file_lock_core structure or the fl_flag in the file_lock structure as
+appropriate.
+
+Minor surrounding white space cleanup.
+
+Reviewed-on: https://gerrit.openafs.org/15708
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
+(cherry picked from commit 9937cce3f35f4e3aad0802189457bf16b84d7ab4)
+
+Change-Id: I51343e1c2e360b68eabe2cc4069c25948b6c0729
+---
+ src/afs/LINUX/osi_vnodeops.c | 97 ++++++++++++++++++++++++++-------
+ src/cf/linux-kernel-assorted.m4 | 1 +
+ src/cf/linux-test4.m4 | 18 ++++++
+ 3 files changed, 95 insertions(+), 21 deletions(-)
+
+diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
+index 8aeeafa9b..b709ad1a5 100644
+--- a/src/afs/LINUX/osi_vnodeops.c
++++ b/src/afs/LINUX/osi_vnodeops.c
+@@ -712,6 +712,61 @@ afs_linux_fsync(struct file *fp, int datasync)
+
+ }
+
++/* Handle getting/setting file_lock type */
++
++static inline unsigned char
++afs_get_flock_type(struct file_lock *flp)
++{
++#if defined(HAVE_FILE_LOCK_CORE)
++ return flp->c.flc_type;
++#else
++ return flp->fl_type;
++#endif
++}
++
++static inline void
++afs_set_flock_type(struct file_lock *flp, unsigned char type)
++{
++#if defined(HAVE_FILE_LOCK_CORE)
++ flp->c.flc_type = type;
++#else
++ flp->fl_type = type;
++#endif
++}
++
++/* Handle getting/setting file_lock pid */
++
++static inline pid_t
++afs_get_flock_pid(struct file_lock *flp)
++{
++#if defined(HAVE_FILE_LOCK_CORE)
++ return flp->c.flc_pid;
++#else
++ return flp->fl_pid;
++#endif
++}
++
++static inline void
++afs_set_flock_pid(struct file_lock *flp, pid_t pid)
++{
++#if defined(HAVE_FILE_LOCK_CORE)
++ flp->c.flc_pid = pid;
++#else
++ flp->fl_pid = pid;
++#endif
++}
++
++/* Handle clearing file_lock sleep */
++
++static inline void
++afs_clear_flock_sleep(struct file_lock *flp)
++{
++#if defined(HAVE_FILE_LOCK_CORE)
++ flp->c.flc_flags &= ~FL_SLEEP;
++#else
++ flp->fl_flags &= ~FL_SLEEP;
++#endif
++}
+
+ static int
+ afs_linux_lock(struct file *fp, int cmd, struct file_lock *flp)
+@@ -723,8 +778,8 @@ afs_linux_lock(struct file *fp, int cmd, struct file_lock *flp)
+
+ /* Convert to a lock format afs_lockctl understands. */
+ memset(&flock, 0, sizeof(flock));
+- flock.l_type = flp->fl_type;
+- flock.l_pid = flp->fl_pid;
++ flock.l_type = afs_get_flock_type(flp);
++ flock.l_pid = afs_get_flock_pid(flp);
+ flock.l_whence = 0;
+ flock.l_start = flp->fl_start;
+ if (flp->fl_end == OFFSET_MAX)
+@@ -746,10 +801,10 @@ afs_linux_lock(struct file *fp, int cmd, struct file_lock *flp)
+ code = afs_convert_code(afs_lockctl(vcp, &flock, cmd, credp));
+ AFS_GUNLOCK();
+
+- if ((code == 0 || flp->fl_type == F_UNLCK) &&
+- (cmd == F_SETLK || cmd == F_SETLKW)) {
++ if ((code == 0 || afs_get_flock_type(flp) == F_UNLCK) &&
++ (cmd == F_SETLK || cmd == F_SETLKW)) {
+ code = afs_posix_lock_file(fp, flp);
+- if (code && flp->fl_type != F_UNLCK) {
++ if (code && afs_get_flock_type(flp) != F_UNLCK) {
+ struct AFS_FLOCK flock2;
+ flock2 = flock;
+ flock2.l_type = F_UNLCK;
+@@ -762,17 +817,17 @@ afs_linux_lock(struct file *fp, int cmd, struct file_lock *flp)
+ * kernel, as lockctl knows nothing about byte range locks
+ */
+ if (code == 0 && cmd == F_GETLK && flock.l_type == F_UNLCK) {
+- afs_posix_test_lock(fp, flp);
+- /* If we found a lock in the kernel's structure, return it */
+- if (flp->fl_type != F_UNLCK) {
+- crfree(credp);
+- return 0;
+- }
++ afs_posix_test_lock(fp, flp);
++ /* If we found a lock in the kernel's structure, return it */
++ if (afs_get_flock_type(flp) != F_UNLCK) {
++ crfree(credp);
++ return 0;
++ }
+ }
+
+ /* Convert flock back to Linux's file_lock */
+- flp->fl_type = flock.l_type;
+- flp->fl_pid = flock.l_pid;
++ afs_set_flock_type(flp, flock.l_type);
++ afs_set_flock_pid(flp, flock.l_pid);
+ flp->fl_start = flock.l_start;
+ if (flock.l_len == 0)
+ flp->fl_end = OFFSET_MAX; /* Lock to end of file */
+@@ -792,8 +847,8 @@ afs_linux_flock(struct file *fp, int cmd, struct file_lock *flp) {
+ struct AFS_FLOCK flock;
+ /* Convert to a lock format afs_lockctl understands. */
+ memset(&flock, 0, sizeof(flock));
+- flock.l_type = flp->fl_type;
+- flock.l_pid = flp->fl_pid;
++ flock.l_type = afs_get_flock_type(flp);
++ flock.l_pid = afs_get_flock_pid(flp);
+ flock.l_whence = 0;
+ flock.l_start = 0;
+ flock.l_len = 0;
+@@ -812,11 +867,11 @@ afs_linux_flock(struct file *fp, int cmd, struct file_lock *flp) {
+ code = afs_convert_code(afs_lockctl(vcp, &flock, cmd, credp));
+ AFS_GUNLOCK();
+
+- if ((code == 0 || flp->fl_type == F_UNLCK) &&
+- (cmd == F_SETLK || cmd == F_SETLKW)) {
+- flp->fl_flags &=~ FL_SLEEP;
++ if ((code == 0 || afs_get_flock_type(flp) == F_UNLCK) &&
++ (cmd == F_SETLK || cmd == F_SETLKW)) {
++ afs_clear_flock_sleep(flp);
+ code = flock_lock_file_wait(fp, flp);
+- if (code && flp->fl_type != F_UNLCK) {
++ if (code && afs_get_flock_type(flp) != F_UNLCK) {
+ struct AFS_FLOCK flock2;
+ flock2 = flock;
+ flock2.l_type = F_UNLCK;
+@@ -826,8 +881,8 @@ afs_linux_flock(struct file *fp, int cmd, struct file_lock *flp) {
+ }
+ }
+ /* Convert flock back to Linux's file_lock */
+- flp->fl_type = flock.l_type;
+- flp->fl_pid = flock.l_pid;
++ afs_set_flock_type(flp, flock.l_type);
++ afs_set_flock_pid(flp, flock.l_pid);
+
+ crfree(credp);
+ return code;
+diff --git a/src/cf/linux-kernel-assorted.m4 b/src/cf/linux-kernel-assorted.m4
+index 49827d5be..aea7b2bd7 100644
+--- a/src/cf/linux-kernel-assorted.m4
++++ b/src/cf/linux-kernel-assorted.m4
+@@ -59,6 +59,7 @@ LINUX_D_INVALIDATE_IS_VOID
+ LINUX_KERNEL_READ_OFFSET_IS_LAST
+ LINUX_KEYRING_SEARCH_TAKES_RECURSE
+ LINUX_GENERIC_FILLATTR_TAKES_REQUEST_MASK
++LINUX_FILE_LOCK_CORE
+ ])
+
+
+diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4
+index 7889c904a..b22930690 100644
+--- a/src/cf/linux-test4.m4
++++ b/src/cf/linux-test4.m4
+@@ -867,3 +867,21 @@ AC_DEFUN([LINUX_GENERIC_FILLATTR_TAKES_REQUEST_MASK], [
+ [define if your generic_fillattr has the request_mask_parameter],
+ [])
+ ])
++
++dnl linux 6.9 moved and renamed fl_type, fl_pid and fl_flags
++dnl from file_lock into a new structure file_lock_core. Check for these as a
++dnl single test
++AC_DEFUN([LINUX_FILE_LOCK_CORE], [
++ AC_CHECK_LINUX_BUILD([whether fl_type fl_pid and fl_flags are in structure file_lock_core],
++ [ac_cv_linux_file_lock_core],
++ [#include <linux/filelock.h>],
++ [
++ static struct file_lock flock;
++ flock.c.flc_type = 0;
++ flock.c.flc_pid = 0;
++ flock.c.flc_flags = 0;
++ ],
++ [HAVE_FILE_LOCK_CORE],
++ [define if file_lock_core exists],
++ [])
++])
+--
+2.45.1
+
diff --git a/0032-afs-Reintroduce-and-use-DFlushDCache.patch b/0032-afs-Reintroduce-and-use-DFlushDCache.patch
new file mode 100644
index 000000000000..5c6951f36d13
--- /dev/null
+++ b/0032-afs-Reintroduce-and-use-DFlushDCache.patch
@@ -0,0 +1,97 @@
+From fa093a57d443a30be0891caacb18677fd4b73ac0 Mon Sep 17 00:00:00 2001
+From: Andrew Deason <adeason@sinenomine.net>
+Date: Thu, 25 Apr 2024 15:58:49 -0500
+Subject: [PATCH 32/32] afs: Reintroduce and use DFlushDCache()
+
+This reverts commit 432ac5810e51bb5bb2cf1df0bfebc64d1c4d7a39 (afs:
+Remove DFlushDCache()). This also re-adds the caller of DFlushDCache()
+removed by commit 4045f3d5350955de91e019b09ad2ed7941f6dadb
+(disconnected-shadow-directory-fixes-20090121), and the prototype
+removed by commit 5ad1e6cb904b953fbb04603f3ce1466dcc38cd48 (dir:
+Prototype and function name cleanup).
+
+The removal of the DFlushDCache() call in commit 4045f3d535 seems like
+a mistake. If the directory in question has dirty pages in memory, we
+need to flush those to the cache before making a copy of the
+directory's data, because we read the existing dir's data from the
+cache. If we don't flush, afs_MakeShadowDir() might make a copy of the
+dcache that is missing updates to the directory blob.
+
+Reviewed-on: https://gerrit.openafs.org/15740
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
+Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
+(cherry picked from commit 799d789fbaefc8c4dbcb803b885deb35f4947d26)
+
+Change-Id: I3bffab4bae4214503591ac102aba59c7072b39af
+---
+ src/afs/afs_buffer.c | 25 +++++++++++++++++++++++++
+ src/afs/afs_dcache.c | 3 +++
+ src/afs/afs_prototypes.h | 1 +
+ 3 files changed, 29 insertions(+)
+
+diff --git a/src/afs/afs_buffer.c b/src/afs/afs_buffer.c
+index 9538c6806..747bd7afb 100644
+--- a/src/afs/afs_buffer.c
++++ b/src/afs/afs_buffer.c
+@@ -516,6 +516,31 @@ DFlushBuffer(struct buffer *ab)
+ afs_CFileClose(tfile);
+ }
+
++void
++DFlushDCache(struct dcache *adc)
++{
++ int i;
++ struct buffer *tb;
++
++ ObtainReadLock(&afs_bufferLock);
++
++ for (i = 0; i <= PHPAGEMASK; i++)
++ for (tb = phTable[pHash(adc->index, i)]; tb != NULL; tb = tb->hashNext)
++ if (tb->fid == adc->index) {
++ ObtainWriteLock(&tb->lock, 701);
++ tb->lockers++;
++ ReleaseReadLock(&afs_bufferLock);
++ if (tb->dirty) {
++ DFlushBuffer(tb);
++ }
++ tb->lockers--;
++ ReleaseWriteLock(&tb->lock);
++ ObtainReadLock(&afs_bufferLock);
++ }
++
++ ReleaseReadLock(&afs_bufferLock);
++}
++
+ int
+ DFlush(void)
+ {
+diff --git a/src/afs/afs_dcache.c b/src/afs/afs_dcache.c
+index 46d0bdba5..35fd59473 100644
+--- a/src/afs/afs_dcache.c
++++ b/src/afs/afs_dcache.c
+@@ -3842,6 +3842,9 @@ afs_MakeShadowDir(struct vcache *avc, struct dcache *adc)
+
+ ReleaseWriteLock(&afs_xdcache);
+
++ /* Make sure and flush dir buffers back into the disk cache */
++ DFlushDCache(adc);
++
+ /* Alloc a 4k block. */
+ data = afs_osi_Alloc(4096);
+ if (!data) {
+diff --git a/src/afs/afs_prototypes.h b/src/afs/afs_prototypes.h
+index b9811f892..2ca80a563 100644
+--- a/src/afs/afs_prototypes.h
++++ b/src/afs/afs_prototypes.h
+@@ -26,6 +26,7 @@ extern void afs_FreeAllAxs(struct axscache **headp);
+ extern void shutdown_xscache(void);
+
+ /* afs_buffer.c */
++extern void DFlushDCache(struct dcache *);
+ extern void shutdown_bufferpackage(void);
+
+ /* afs_call.c */
+--
+2.45.1
+
diff --git a/PKGBUILD b/PKGBUILD
index 0bdb3072f690..acddf33242b1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=openafs-modules
_srcname=openafs
pkgver=1.8.11
-pkgrel=1
+pkgrel=2
pkgdesc="Kernel module for OpenAFS"
arch=('i686' 'x86_64' 'armv7h')
url="http://www.openafs.org"
@@ -22,10 +22,10 @@ source=(http://openafs.org/dl/openafs/${pkgver}/${_srcname}-${pkgver}-src.tar.bz
0003-afs-Remove-SRXAFSCB_GetDE.patch
0004-afs-remove-dead-ICL-fstrace-code.patch
0005-cf-Add-function-prototypes-for-linux-conftest.patch
- 0006-afs-Remove-DFlushDCache.patch
- 0007-afs-Remove-afs_MemExtendEntry.patch
- 0008-afs-Remove-afs_osi_UnmaskUserLoop.patch
- 0009-afs-Remove-dummy_PSetAcl.patch
+ 0006-afs-Remove-afs_MemExtendEntry.patch
+ 0007-afs-Remove-afs_osi_UnmaskUserLoop.patch
+ 0008-afs-Remove-dummy_PSetAcl.patch
+ 0009-afs-Remove-DFlushDCache.patch
0010-afs-Remove-SRXAFSCB_FetchData-StoreData.patch
0011-afs-Remove-afs_DbgDisconFiles.patch
0012-afs-Add-declaration-for-RXAFS_ResidencyCmd.patch
@@ -45,37 +45,43 @@ source=(http://openafs.org/dl/openafs/${pkgver}/${_srcname}-${pkgver}-src.tar.bz
0026-Linux-6.8-use-hlist-iteration-for-dentry-children.patch
0027-Linux-6.8-Remove-ctl_table-sentinels.patch
0028-Linux-6.8-Use-roken-s-strlcpy-in-kernel-module.patch
- 0029-afs-Drop-GLOCK-for-various-Rx-calls.patch)
+ 0029-Linux-Remove-weak-attribute-for-key_type_keyring.patch
+ 0030-Linux-Define-afs_thread_wrapper-as-static.patch
+ 0031-Linux-6.9-file_lock-mbrs-moved-to-file_lock_core.patch
+ 0032-afs-Reintroduce-and-use-DFlushDCache.patch)
sha256sums=('e2efb4710996b7d23198b53c56295a8f9e24e8a555317c5fc63b8125a3714ecd'
- 'e85f5656f76700e4236b1033cf4b7f08c59ab757d52d2a67dcb2c65762388733'
- '8d48b727e77b1e952310ad9f94bd4ece9e64e1f03a35463bb23dffa1009738d8'
- 'c44c91e31df1ec77f1a39eb7b172c4e348e41b293ae05606288bfe333ad7c29b'
- '48dd1065f8bcb90d0bdc7ae5b484da5a1a5d93461f6ac1d6ceef103d2b807f22'
- 'ce054eadb9c84173b0bd1318ef88cb9500049431779252e501491d9389141bad'
- 'ae525167f5f6f7e0301eee70b3424e51e45e56e9fe9588b95cf72d5fa96717b9'
- '974861c174969591351c5fb4a47946e02f979c2b5590f89d9d16dfbe4238451f'
- 'e5d72b5e08c63df10299b56bfebf3c5c44e07d16c0436fb2c0eef3614ad505e3'
- '8143496d251dd1f13b8603b4e692fbd67f925caccd12035598e70542d24389f5'
- '216e684f8181adc4a4b3c4ba934997cada10831c5608e724e91d09e836ec626d'
- '2e573535da21f8be5b83c8e82166c0bdc5896293b28e793fa4c1bdb9ff942dbd'
- '0535fbdd3c8431b7b16842f1fa6592355f647ae456112e97d34d541e74204be5'
- '7aacef8bd6832f119472f7d52af36951a56f1e54d36d9bce59998fcf818517e5'
- '3db5177c80a7694c1be3b74f419570a5076edc519b40112cf17e68fecc7574a3'
- '9fe647d54c999e358597fe671dc7e88da609a69bb93624e15919d9b4cc4fdb5a'
- '7ced2ca2d4f54b2fa15c584869de122810ee0d1b024d1bf541f38d77172e311c'
- 'c88c8b8e1c993da773eea3ae4f17e5171189ed7e1fc5769fdb49d82cae0cffd3'
- 'c57c826c9f26568241bcb17eff04067a1b5e388f72523765aa80d480c3690325'
- 'd508dd6136170fcb4794e283178f9c5f4ede12f415b882ba7c13470e8f09bdde'
- '894eb7e7889749cefa9cbf86e2eceda470d20510a5a7a5be2cd851f8570e076c'
- 'fb36b0ef833811910cae42d8411a00dcf2aff08c8799f766e32cda3ad5a7f0e2'
- 'd08d38ff53890632900de5d69dc105711d5bce2d02a55ffe70c87b38ca39aca7'
- 'db700b5f62e979af60856278306e8fce6df21dfb24996dd0d690c82222f4d793'
- '46294f8323bf71ee96c8f765bb36fc5e0af6b2257deac7eaea4f4cb9568d9fe1'
- '5d4a2614065046a32ef805198349e70476d3ed9e079a4ef7577e71e0dac1d2fa'
- '4c8201265f558bac146bf8cee38f8c925b2c2262133ae88d9eb2f0623a0ada07'
- 'ceb02a7a5e596434215693f065ad6221f568f85aab173df4752248d2c4d8f971'
- '2b05242c5516871191a251a617c6c02e80f34b92b6cfeb0c9c6a1f3e0ff915d9'
- '82b197ac5f2639d891c8a646963ef6b87ef4171c7a70ac6ca7a9a55511090952')
+ '8156fa6b024531b9c18d3727e4a7319eb270bb862c6f9ee44eabf6920bcf3736'
+ '18f7fdd1c3a392f5b6c660d9eedfdf189ce19629da1c2f4e8197aa1198df9008'
+ '863eba3beee07f972d478624587975fc997a78867e3f9cb2f4ab649bfabae0bf'
+ '22c4102a0919b71af82ec8525c016b9692424f67ace207c225ebab838111d5cc'
+ 'd79cd75af56537a28cd15692af61c1f701527795dea789b85535976fb258f420'
+ '9c0423ebc12378fff0595735510e80e0759895d3d763f1d6d364d6fc22d8d272'
+ '58a2fbbd131a6d480ac1ede5a79c9ae90ce0a9edc81d66b4d3dede9980c662b8'
+ '1aefdecb45083192fcfb76e8029404fb82295d1051699bea9cddc7c0be81e00e'
+ '6542a046d99b304d716c6034aa468ebc7dc76e37507d328bb82b3797fef39220'
+ 'dff332541f05a125fd4b7713e8c6a2030fa9abf4ecb56e7b0c7ee554f73a9fa9'
+ '8c59d49b409fde14538f7eab2efbf51f281e4ca977cb4658fb0197ae5c317aef'
+ '45302b6323b76162d648883e52ae68cf95933e96697f58a4f2b948687a1e4d51'
+ '0be51a38cc7208ecbf855880115fe797b6bef0005ff53391d2f7a636bb67eff4'
+ '8882dec77cf6bac3c2022c3b32460f76988a736aa3312b3ecc1daaca4a8d601e'
+ '3f7de2872cd90e50e103a3c388c9a4501e85d27041d4e696ca49a885b4ca7b60'
+ 'd750390ac3ef573793c44862b6f59302ef0ba6b2ba24bbded58dc70d83f25e47'
+ 'b31fd46ae26a2a34c5d81c77edccc69a42c8d0362cc25254730fddedb22753c8'
+ '963b27b44402149159dd8f5c1e9821704cacd2a6de1fb2c8088bfb11f10d1c99'
+ '09bac17f405b2f00d99278ecc441596aab1ac1dae80586efa86ade3d7806c266'
+ '4b2de147029b6f91fdeeddb8276fbc577926378440d019f2a197c3b51517e6d8'
+ '9354aa971f3d9e460ef3179347f8ee7f6c38597571f84d648a237a7edcaf4835'
+ '067c31796977aef73747f85a85cb9045c4361502eb7f9d622aecf2dd9ed5b723'
+ '063a8d942eb3a9f5a27780dd12b2dea2e67f8f3b35d7bfe2eedfe879ea2b1b40'
+ '0072ef62a412e23c136bb69e67ec05bc802cc96636e9a0827cc3dd3dd43bc935'
+ '3564c0a944f6e2478477105625809729e6183213b969fe2ed9b69483244c4be7'
+ '072f7aa32c711447d794ad430b68475fdfa3e21e805dab640086226fbc328c66'
+ '867086d1809b63a1e87afc7c3b440f6bccb39e6fbe40d05fc3a35aa5ecf4f1cd'
+ '2ff01dbf33ebb7b3cb6e5be83a6adab906ae287836cc1584561144f5be63d6cd'
+ '049b82cb0b1427d87460f703cf1926e4b86b386afed1e5ebc78d1ac61b0ca137'
+ 'fe36d327804d315cb54b4cedcb44631fe70044db6ce3ba88387698c4b91808df'
+ '0a3f1b80d2312edfd9424e0bbcf943a13b049c9556778b600b103d11e9b62182'
+ '32f0bda8b9a3a408af5247347e2896011122362584abcd03b5c63973bd863d07')
# Heuristic to determine version of installed kernel
# You can modify this if the heuristic fails
@@ -90,16 +96,16 @@ _extramodules="/usr/lib/modules/${_kernelver}/extramodules"
prepare() {
cd "${srcdir}/${_srcname}-${pkgver}"
- # Compatibility with Linux 6.8
+ # Compatibility with Linux 6.8 and newer + bug fixes
patch -p1 < "$srcdir"/0001-afs-Make-afs_AllocDCache-static.patch
patch -p1 < "$srcdir"/0002-LINUX-Minor-osi_vfsop.c-cleanup.patch
patch -p1 < "$srcdir"/0003-afs-Remove-SRXAFSCB_GetDE.patch
patch -p1 < "$srcdir"/0004-afs-remove-dead-ICL-fstrace-code.patch
patch -p1 < "$srcdir"/0005-cf-Add-function-prototypes-for-linux-conftest.patch
- patch -p1 < "$srcdir"/0006-afs-Remove-DFlushDCache.patch
- patch -p1 < "$srcdir"/0007-afs-Remove-afs_MemExtendEntry.patch
- patch -p1 < "$srcdir"/0008-afs-Remove-afs_osi_UnmaskUserLoop.patch
- patch -p1 < "$srcdir"/0009-afs-Remove-dummy_PSetAcl.patch
+ patch -p1 < "$srcdir"/0006-afs-Remove-afs_MemExtendEntry.patch
+ patch -p1 < "$srcdir"/0007-afs-Remove-afs_osi_UnmaskUserLoop.patch
+ patch -p1 < "$srcdir"/0008-afs-Remove-dummy_PSetAcl.patch
+ patch -p1 < "$srcdir"/0009-afs-Remove-DFlushDCache.patch
patch -p1 < "$srcdir"/0010-afs-Remove-SRXAFSCB_FetchData-StoreData.patch
patch -p1 < "$srcdir"/0011-afs-Remove-afs_DbgDisconFiles.patch
patch -p1 < "$srcdir"/0012-afs-Add-declaration-for-RXAFS_ResidencyCmd.patch
@@ -119,7 +125,10 @@ prepare() {
patch -p1 < "$srcdir"/0026-Linux-6.8-use-hlist-iteration-for-dentry-children.patch
patch -p1 < "$srcdir"/0027-Linux-6.8-Remove-ctl_table-sentinels.patch
patch -p1 < "$srcdir"/0028-Linux-6.8-Use-roken-s-strlcpy-in-kernel-module.patch
- patch -p1 < "$srcdir"/0029-afs-Drop-GLOCK-for-various-Rx-calls.patch
+ patch -p1 < "$srcdir"/0029-Linux-Remove-weak-attribute-for-key_type_keyring.patch
+ patch -p1 < "$srcdir"/0030-Linux-Define-afs_thread_wrapper-as-static.patch
+ patch -p1 < "$srcdir"/0031-Linux-6.9-file_lock-mbrs-moved-to-file_lock_core.patch
+ patch -p1 < "$srcdir"/0032-afs-Reintroduce-and-use-DFlushDCache.patch
# Only needed when changes to configure were made
./regen.sh -q