Linux NFS development
 help / color / mirror / Atom feed
* [PATCH v2 0/7] Fixes for server-side xdr_stream overhaul
@ 2022-08-28 18:50 Chuck Lever
  2022-08-28 18:50 ` [PATCH v2 1/7] SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation Chuck Lever
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Chuck Lever @ 2022-08-28 18:50 UTC (permalink / raw)
  To: linux-nfs

I've gotten push-back on the idea of rejecting RPC messages where
the RPC record size is larger than the RPC message itself. Therefore
that concept has been dropped from this series.

I've now been able to reproduce, exactly as it was described, a
recently-reported problem with READDIR handling. I've fixed that and
also determined that no other legacy NFS operations appear to be
vulnerable to this particular issue (within the Linux NFS server).


Changes since v1:
- Dropped the xdr_buf_length() helper
- Replaced 7/7 with patch that cleans up an unneeded use of xdr_buf::len
- Dropped the checks for oversized RPC records
- Fixed narrow problem with NFSv2 and NFSv3 READDIR processing

---

Chuck Lever (7):
      SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation
      SUNRPC: Fix svcxdr_init_encode's buflen calculation
      NFSD: Protect against READDIR send buffer overflow
      NFSD: Use xdr_inline_decode() to decode NFSv3 symlinks
      NFSD: Clean up WRITE arg decoders
      SUNRPC: Fix typo in xdr_buf_subsegment's kdoc comment
      NFSD: Clean up nfs4svc_encode_compoundres()


 fs/nfsd/nfs3proc.c         |  5 ++---
 fs/nfsd/nfs3xdr.c          | 18 ++++--------------
 fs/nfsd/nfs4xdr.c          |  4 ----
 fs/nfsd/nfsproc.c          |  5 ++---
 fs/nfsd/nfsxdr.c           |  4 +---
 include/linux/sunrpc/svc.h | 19 +++++++++++++++----
 net/sunrpc/xdr.c           |  2 +-
 7 files changed, 25 insertions(+), 32 deletions(-)

--
Chuck Lever


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

end of thread, other threads:[~2022-08-29 13:59 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-28 18:50 [PATCH v2 0/7] Fixes for server-side xdr_stream overhaul Chuck Lever
2022-08-28 18:50 ` [PATCH v2 1/7] SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation Chuck Lever
2022-08-29 12:48   ` Jeff Layton
2022-08-29 13:48     ` Chuck Lever III
2022-08-28 18:50 ` [PATCH v2 2/7] SUNRPC: Fix svcxdr_init_encode's buflen calculation Chuck Lever
2022-08-29 12:51   ` Jeff Layton
2022-08-28 18:50 ` [PATCH v2 3/7] NFSD: Protect against READDIR send buffer overflow Chuck Lever
2022-08-29 13:43   ` Jeff Layton
2022-08-29 13:59     ` Chuck Lever III
2022-08-28 18:50 ` [PATCH v2 4/7] NFSD: Use xdr_inline_decode() to decode NFSv3 symlinks Chuck Lever
2022-08-29 13:48   ` Jeff Layton
2022-08-28 18:50 ` [PATCH v2 5/7] NFSD: Clean up WRITE arg decoders Chuck Lever
2022-08-29 13:49   ` Jeff Layton
2022-08-28 18:50 ` [PATCH v2 6/7] SUNRPC: Fix typo in xdr_buf_subsegment's kdoc comment Chuck Lever
2022-08-29 13:49   ` Jeff Layton
2022-08-28 18:51 ` [PATCH v2 7/7] NFSD: Clean up nfs4svc_encode_compoundres() Chuck Lever
2022-08-29 13:50   ` Jeff Layton

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