Linux NFS development
 help / color / mirror / Atom feed
* [PATCH v4 0/4] Fix unwanted memory overwrites
@ 2025-10-12 17:07 Chuck Lever
  2025-10-12 17:07 ` [PATCH v4 1/4] NFSD: Skip close replay processing if XDR encoding fails Chuck Lever
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Chuck Lever @ 2025-10-12 17:07 UTC (permalink / raw)
  To: NeilBrown, Jeff Layton, Olga Kornievskaia, Dai Ngo, Tom Talpey
  Cc: linux-nfs, Chuck Lever

From: Chuck Lever <chuck.lever@oracle.com>

<rtm@csail.mit.edu> reported some memory overwrites that can be
triggered by NFS client input. I was able to observe overwrites
by enabling KASAN and running his reproducer [1].

NFSD caches COMPOUNDs containing only a single SEQUENCE operation
whether the client requests it to or not, in order to work around a
quirk in the NFSv4.1 protocol. However, the predicate that
identifies solo SEQUENCE operations was incorrect.

Changes since v3:
* Neil observes that in this code path, SEQUENCE always the first op
* Expanding the size of the replay cache buffer is unnecessary
* Reordered and simplified the remaining patches
* Haven't yet addressed imbalanced maxresponsesize values

Changes since v2:
* Never cache a COMPOUND if SEQUENCE fails
* Enable caching of solo SEQUENCE operations again
* Reserve enough slot replay cache space to cache solo SEQUENCE

Changes since v1:
* Reordered patches
* Disable caching of solo SEQUENCE operations
* Additional clean up

Chuck Lever (4):
  NFSD: Skip close replay processing if XDR encoding fails
  NFSD: Never cache a COMPOUND when the SEQUENCE operation fails
  NFSD: Fix the "is this a solo SEQUENCE" predicate
  NFSD: Move nfsd4_cache_this()

 fs/nfsd/nfs4state.c | 37 ++++++++++++++++++++++++++++++++++++-
 fs/nfsd/nfs4xdr.c   |  3 +--
 fs/nfsd/xdr4.h      | 21 ---------------------
 3 files changed, 37 insertions(+), 24 deletions(-)

-- 
2.51.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-10-13 23:39 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-12 17:07 [PATCH v4 0/4] Fix unwanted memory overwrites Chuck Lever
2025-10-12 17:07 ` [PATCH v4 1/4] NFSD: Skip close replay processing if XDR encoding fails Chuck Lever
2025-10-13  4:28   ` NeilBrown
2025-10-12 17:07 ` [PATCH v4 2/4] NFSD: Never cache a COMPOUND when the SEQUENCE operation fails Chuck Lever
2025-10-13  4:31   ` NeilBrown
2025-10-12 17:07 ` [PATCH v4 3/4] NFSD: Fix the "is this a solo SEQUENCE" predicate Chuck Lever
2025-10-13  4:43   ` NeilBrown
2025-10-13 13:25     ` Chuck Lever
2025-10-13 23:39       ` NeilBrown
2025-10-12 17:07 ` [PATCH v4 4/4] NFSD: Move nfsd4_cache_this() Chuck Lever
2025-10-13  4:44   ` NeilBrown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox