[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250127143907.5349-1-cel@kernel.org>
Date: Mon, 27 Jan 2025 09:39:07 -0500
From: cel@...nel.org
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: <linux-nfs@...r.kernel.org>,
<linux-kernel@...r.kernel.org>,
Jeff Layton <jlayton@...nel.org>
Subject: [GIT PULL] NFSD changes for v6.14
The following changes since commit 9d89551994a430b50c4fffcb1e617a057fa76e20:
Linux 6.13-rc6 (2025-01-05 14:13:40 -0800)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git tags/nfsd-6.14
for you to fetch changes up to c92066e78600b058638785288274a1f1426fe268:
sunrpc: Remove gss_{de,en}crypt_xdr_buf deadcode (2025-01-21 15:30:01 -0500)
----------------------------------------------------------------
NFSD 6.14 Release Notes
Jeff Layton contributed an implementation of NFSv4.2+ attribute
delegation, as described here:
https://www.ietf.org/archive/id/draft-ietf-nfsv4-delstid-08.html
This interoperates with similar functionality introduced into the
Linux NFS client in v6.11. An attribute delegation permits an NFS
client to manage a file's mtime, rather than flushing dirty data to
the NFS server so that the file's mtime reflects the last write,
which is considerably slower.
Neil Brown contributed dynamic NFSv4.1 session slot table resizing.
This facility enables NFSD to increase or decrease the number of
slots per NFS session depending on server memory availability. More
session slots means greater parallelism.
Chuck Lever fixed a long-standing latent bug where NFSv4 COMPOUND
encoding screws up when crossing a page boundary in the encoding
buffer. This is a zero-day bug, but hitting it is rare and depends
on the NFS client implementation. The Linux NFS client does not
happen to trigger this issue.
A variety of bug fixes and other incremental improvements fill out
the list of commits in this release. Great thanks to all
contributors, reviewers, testers, and bug reporters who participated
during this development cycle.
----------------------------------------------------------------
Chen Hanxiao (1):
nfsd: trace: remove redundant stateid even deleg_recall
Chuck Lever (11):
NFSD: Clean up unused variable
NFSD: Encode COMPOUND operation status on page boundaries
NFSD: Insulate nfsd4_encode_read() from page boundaries in the encode buffer
NFSD: Insulate nfsd4_encode_read_plus() from page boundaries in the encode buffer
NFSD: Insulate nfsd4_encode_read_plus_data() from page boundaries in the encode buffer
NFSD: Insulate nfsd4_encode_readlink() from page boundaries in the encode buffer
NFSD: Refactor nfsd4_do_encode_secinfo() again
NFSD: Insulate nfsd4_encode_secinfo() from page boundaries in the encode buffer
NFSD: Insulate nfsd4_encode_fattr4() from page boundaries in the encode buffer
SUNRPC: Document validity guarantees of the pointer returned by reserve_space
Revert "SUNRPC: Reduce thread wake-up rate when receiving large RPC messages"
Dr. David Alan Gilbert (3):
sunrpc: Remove unused xprt_iter_get_xprt
sunrpc: Remove gss_generic_token deadcode
sunrpc: Remove gss_{de,en}crypt_xdr_buf deadcode
Jeff Layton (10):
nfsd: fix handling of delegated change attr in CB_GETATTR
nfs_common: make include/linux/nfs4.h include generated nfs4_1.h
nfsd: switch to autogenerated definitions for open_delegation_type4
nfsd: rename NFS4_SHARE_WANT_* constants to OPEN4_SHARE_ACCESS_WANT_*
nfsd: prepare delegation code for handing out *_ATTRS_DELEG delegations
nfsd: add support for FATTR4_OPEN_ARGUMENTS
nfsd: rework NFS4_SHARE_WANT_* flag handling
nfsd: add support for delegated timestamps
nfsd: handle delegated timestamps in SETATTR
nfsd: implement OPEN_ARGS_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION
NeilBrown (10):
nfsd: use new wake_up_var interfaces.
sunrpc/svc: use store_release_wake_up()
nfsd: don't use sv_nrthreads in connection limiting calculations.
sunrpc: remove all connection limit configuration
nfsd: use an xarray to store v4.1 session slots
nfsd: remove artificial limits on the session-based DRC
nfsd: add session slot count to /proc/fs/nfsd/clients/*/info
nfsd: allocate new session-based DRC slots on demand.
nfsd: add support for freeing unused session-DRC slots
nfsd: add shrinker to reduce number of slots allocated per session
Olga Kornievskaia (2):
NFSD: fix decoding in nfs4_xdr_dec_cb_getattr
NFSD: add cb opcode to WARN_ONCE on failed callback
Scott Mayhew (1):
nfsd: fix legacy client tracking initialization
Yang Erkun (4):
SUNRPC: introduce cache_check_rcu to help check in rcu context
nfsd: no need get cache ref when protected by rcu
SUNRPC: no need get cache ref when protected by rcu
nfsd: fix UAF when access ex_uuid or ex_stats
Documentation/sunrpc/xdr/nfs4_1.x | 186 +++++++++++
fs/lockd/svc.c | 8 -
fs/nfs/callback.c | 4 -
fs/nfs/callback_xdr.c | 1 +
fs/nfsd/Makefile | 16 +-
fs/nfsd/export.c | 25 +-
fs/nfsd/netns.h | 6 -
fs/nfsd/nfs4callback.c | 60 +++-
fs/nfsd/nfs4proc.c | 31 +-
fs/nfsd/nfs4recover.c | 1 -
fs/nfsd/nfs4state.c | 526 +++++++++++++++++++++++---------
fs/nfsd/nfs4xdr.c | 338 +++++++++++++-------
fs/nfsd/nfs4xdr_gen.c | 256 ++++++++++++++++
fs/nfsd/nfs4xdr_gen.h | 25 ++
fs/nfsd/nfsctl.c | 42 ---
fs/nfsd/nfsd.h | 13 +-
fs/nfsd/nfsfh.c | 2 +
fs/nfsd/nfssvc.c | 37 ---
fs/nfsd/state.h | 36 ++-
fs/nfsd/trace.h | 1 -
fs/nfsd/xdr4.h | 2 -
fs/nfsd/xdr4cb.h | 10 +-
include/linux/nfs4.h | 9 +-
include/linux/nfs_xdr.h | 5 -
include/linux/sunrpc/cache.h | 2 +
include/linux/sunrpc/gss_asn1.h | 81 -----
include/linux/sunrpc/gss_krb5.h | 1 -
include/linux/sunrpc/svc.h | 13 +-
include/linux/sunrpc/svc_xprt.h | 22 ++
include/linux/sunrpc/xdrgen/nfs4_1.h | 153 ++++++++++
include/linux/sunrpc/xprtmultipath.h | 1 -
include/linux/time64.h | 5 +
include/uapi/linux/nfs4.h | 7 +-
net/sunrpc/auth_gss/Makefile | 2 +-
net/sunrpc/auth_gss/gss_generic_token.c | 231 --------------
net/sunrpc/auth_gss/gss_krb5_crypto.c | 55 ----
net/sunrpc/auth_gss/gss_krb5_internal.h | 7 -
net/sunrpc/auth_gss/gss_mech_switch.c | 1 -
net/sunrpc/cache.c | 53 ++--
net/sunrpc/svc_xprt.c | 38 +--
net/sunrpc/svcsock.c | 12 +-
net/sunrpc/xdr.c | 6 +
net/sunrpc/xprtmultipath.c | 17 --
43 files changed, 1462 insertions(+), 885 deletions(-)
create mode 100644 Documentation/sunrpc/xdr/nfs4_1.x
create mode 100644 fs/nfsd/nfs4xdr_gen.c
create mode 100644 fs/nfsd/nfs4xdr_gen.h
delete mode 100644 include/linux/sunrpc/gss_asn1.h
create mode 100644 include/linux/sunrpc/xdrgen/nfs4_1.h
delete mode 100644 net/sunrpc/auth_gss/gss_generic_token.c
Powered by blists - more mailing lists