blob: 0f48e89e4f082e5bcd09571bba65386ee59db825 [file] [log] [blame] [raw]
Do not try to cache a reply for NFSERR_BADSLOT
PR 260076
Backported from FreeBSD base commit 33d0be8a923a840ec0724d50815890c5ffe0e884
--- /var/archive3/public/freebsd-releng-10.4-src/sys/fs/nfsserver/nfs_nfsdserv.c 2017-09-29 08:20:06.000000000 +0800
+++ freebsd-10.4/sys/fs/nfsserver/nfs_nfsdserv.c 2026-02-24 20:35:09.171872000 +0800
@@ -3945,9 +3945,9 @@
cache_this = 1;
else
cache_this = 0;
- nd->nd_flag |= ND_HASSEQUENCE;
nd->nd_repstat = nfsrv_checksequence(nd, sequenceid, &highest_slotid,
&target_highest_slotid, cache_this, &sflags, p);
+ if (nd->nd_repstat != NFSERR_BADSLOT) nd->nd_flag |= ND_HASSEQUENCE;
if (nd->nd_repstat == 0) {
NFSM_BUILD(tl, uint32_t *, NFSX_V4SESSIONID);
NFSBCOPY(nd->nd_sessionid, tl, NFSX_V4SESSIONID);