linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] sunrpc: patches and cleanups for v6.17
@ 2025-06-20 12:16 Jeff Layton
  2025-06-20 12:16 ` [PATCH 1/6] sunrpc: fix handling of unknown auth status codes Jeff Layton
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Jeff Layton @ 2025-06-20 12:16 UTC (permalink / raw)
  To: Chuck Lever, NeilBrown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
	Trond Myklebust, Anna Schumaker
  Cc: linux-nfs, linux-kernel, Jeff Layton

Hi Chuck,

The first 3 are directly related to the svc_process_common() patch I
sent yesterday. They're just further cleanups and fixes to that
codepath. The other two are random sunrpc patches I've been carrying for
a while.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
Jeff Layton (6):
      sunrpc: fix handling of unknown auth status codes
      sunrpc: remove SVC_SYSERR
      sunrpc: reset rq_accept_statp when starting a new RPC
      sunrpc: return better error in svcauth_gss_accept() on alloc failure
      sunrpc: rearrange struct svc_rqst for fewer cachelines
      sunrpc: make svc_tcp_sendmsg() take a signed sentp pointer

 include/linux/sunrpc/msg_prot.h   | 18 ++++++++++--------
 include/linux/sunrpc/svc.h        |  6 +++---
 include/linux/sunrpc/svcauth.h    |  1 -
 include/linux/sunrpc/xdr.h        |  2 ++
 include/trace/events/sunrpc.h     |  2 --
 net/sunrpc/auth_gss/svcauth_gss.c |  3 ++-
 net/sunrpc/svc.c                  | 14 +++++---------
 net/sunrpc/svcsock.c              |  5 ++---
 8 files changed, 24 insertions(+), 27 deletions(-)
---
base-commit: 78ff1c2c7a4a3a7c6d3c9a7c4142c41081b53a0d
change-id: 20250620-rpc-6-17-7b5e9ebfb8ee

Best regards,
-- 
Jeff Layton <jlayton@kernel.org>


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

* [PATCH 1/6] sunrpc: fix handling of unknown auth status codes
  2025-06-20 12:16 [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Jeff Layton
@ 2025-06-20 12:16 ` Jeff Layton
  2025-06-20 12:16 ` [PATCH 2/6] sunrpc: remove SVC_SYSERR Jeff Layton
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jeff Layton @ 2025-06-20 12:16 UTC (permalink / raw)
  To: Chuck Lever, NeilBrown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
	Trond Myklebust, Anna Schumaker
  Cc: linux-nfs, linux-kernel, Jeff Layton

In the case of an unknown error code from svc_authenticate or
pg_authenticate, return AUTH_ERROR with a status of AUTH_FAILED. Also
add the other auth_stat value from RFC 5531, and document all the status
codes.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 include/linux/sunrpc/msg_prot.h | 18 ++++++++++--------
 include/linux/sunrpc/xdr.h      |  2 ++
 net/sunrpc/svc.c                |  3 ++-
 3 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/include/linux/sunrpc/msg_prot.h b/include/linux/sunrpc/msg_prot.h
index c4b0eb2b2f040887d05b3951c9322c7175dd9329..ada17b57ca44ab65d0e4efc4cc1f71b03f47412d 100644
--- a/include/linux/sunrpc/msg_prot.h
+++ b/include/linux/sunrpc/msg_prot.h
@@ -69,15 +69,17 @@ enum rpc_reject_stat {
 };
 
 enum rpc_auth_stat {
-	RPC_AUTH_OK = 0,
-	RPC_AUTH_BADCRED = 1,
-	RPC_AUTH_REJECTEDCRED = 2,
-	RPC_AUTH_BADVERF = 3,
-	RPC_AUTH_REJECTEDVERF = 4,
-	RPC_AUTH_TOOWEAK = 5,
+	RPC_AUTH_OK = 0,		/* success */
+	RPC_AUTH_BADCRED = 1,		/* bad credential (seal broken) */
+	RPC_AUTH_REJECTEDCRED = 2,	/* client must begin new session */
+	RPC_AUTH_BADVERF = 3,		/* bad verifier (seal broken) */
+	RPC_AUTH_REJECTEDVERF = 4,	/* verifier expired or replayed */
+	RPC_AUTH_TOOWEAK = 5,		/* rejected for security reasons */
+	RPC_AUTH_INVALIDRESP = 6,	/* bogus response verifier */
+	RPC_AUTH_FAILED = 7,		/* reason unknown */
 	/* RPCSEC_GSS errors */
-	RPCSEC_GSS_CREDPROBLEM = 13,
-	RPCSEC_GSS_CTXPROBLEM = 14
+	RPCSEC_GSS_CREDPROBLEM = 13,	/* no credentials for user */
+	RPCSEC_GSS_CTXPROBLEM = 14	/* problem with context */
 };
 
 #define RPC_MAXNETNAMELEN	256
diff --git a/include/linux/sunrpc/xdr.h b/include/linux/sunrpc/xdr.h
index 29d3a7659727dacc0f7cc2f4f18c589a524323c4..e3358c630ba18b0af13bc5ff8e1ab2f884125da7 100644
--- a/include/linux/sunrpc/xdr.h
+++ b/include/linux/sunrpc/xdr.h
@@ -119,6 +119,8 @@ xdr_buf_init(struct xdr_buf *buf, void *start, size_t len)
 #define	rpc_autherr_badverf	cpu_to_be32(RPC_AUTH_BADVERF)
 #define	rpc_autherr_rejectedverf cpu_to_be32(RPC_AUTH_REJECTEDVERF)
 #define	rpc_autherr_tooweak	cpu_to_be32(RPC_AUTH_TOOWEAK)
+#define	rpc_autherr_invalidresp	cpu_to_be32(RPC_AUTH_INVALIDRESP)
+#define	rpc_autherr_failed	cpu_to_be32(RPC_AUTH_FAILED)
 #define	rpcsec_gsserr_credproblem	cpu_to_be32(RPCSEC_GSS_CREDPROBLEM)
 #define	rpcsec_gsserr_ctxproblem	cpu_to_be32(RPCSEC_GSS_CTXPROBLEM)
 
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index 9abdbcbf247323207cba13546173b8fd28a15e24..195fb0bea841451ad48717d7936992e0a850f703 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -1387,7 +1387,8 @@ svc_process_common(struct svc_rqst *rqstp)
 		goto sendit;
 	default:
 		pr_warn_once("Unexpected svc_auth_status (%d)\n", auth_res);
-		goto err_system_err;
+		rqstp->rq_auth_stat = rpc_autherr_failed;
+		goto err_bad_auth;
 	}
 
 	if (progp == NULL)

-- 
2.49.0


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

* [PATCH 2/6] sunrpc: remove SVC_SYSERR
  2025-06-20 12:16 [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Jeff Layton
  2025-06-20 12:16 ` [PATCH 1/6] sunrpc: fix handling of unknown auth status codes Jeff Layton
@ 2025-06-20 12:16 ` Jeff Layton
  2025-06-20 12:16 ` [PATCH 3/6] sunrpc: reset rq_accept_statp when starting a new RPC Jeff Layton
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jeff Layton @ 2025-06-20 12:16 UTC (permalink / raw)
  To: Chuck Lever, NeilBrown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
	Trond Myklebust, Anna Schumaker
  Cc: linux-nfs, linux-kernel, Jeff Layton

Nothing returns this error code.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 include/linux/sunrpc/svcauth.h | 1 -
 include/trace/events/sunrpc.h  | 2 --
 net/sunrpc/svc.c               | 8 --------
 3 files changed, 11 deletions(-)

diff --git a/include/linux/sunrpc/svcauth.h b/include/linux/sunrpc/svcauth.h
index 2e111153f7cd2abde7a1ac7daa5b5b8c932a82cd..4b92fec23a490dc8246dc0532fbdd39244e233b0 100644
--- a/include/linux/sunrpc/svcauth.h
+++ b/include/linux/sunrpc/svcauth.h
@@ -86,7 +86,6 @@ struct auth_domain {
 
 enum svc_auth_status {
 	SVC_GARBAGE = 1,
-	SVC_SYSERR,
 	SVC_VALID,
 	SVC_NEGATIVE,
 	SVC_OK,
diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h
index ff11fa07cbe3cd6863d281af4f6ed1d3684cf9f0..750ecce56930699e64956636cc0e7bb388596e87 100644
--- a/include/trace/events/sunrpc.h
+++ b/include/trace/events/sunrpc.h
@@ -1691,7 +1691,6 @@ SVC_RQST_FLAG_LIST
 		__print_flags(flags, "|", SVC_RQST_FLAG_LIST)
 
 TRACE_DEFINE_ENUM(SVC_GARBAGE);
-TRACE_DEFINE_ENUM(SVC_SYSERR);
 TRACE_DEFINE_ENUM(SVC_VALID);
 TRACE_DEFINE_ENUM(SVC_NEGATIVE);
 TRACE_DEFINE_ENUM(SVC_OK);
@@ -1704,7 +1703,6 @@ TRACE_DEFINE_ENUM(SVC_COMPLETE);
 #define show_svc_auth_status(status)			\
 	__print_symbolic(status,			\
 		{ SVC_GARBAGE,	"SVC_GARBAGE" },	\
-		{ SVC_SYSERR,	"SVC_SYSERR" },		\
 		{ SVC_VALID,	"SVC_VALID" },		\
 		{ SVC_NEGATIVE,	"SVC_NEGATIVE" },	\
 		{ SVC_OK,	"SVC_OK" },		\
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index 195fb0bea841451ad48717d7936992e0a850f703..c6ceacedae28e2aafd15edd170a27cdaa84ec47f 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -1375,8 +1375,6 @@ svc_process_common(struct svc_rqst *rqstp)
 	case SVC_GARBAGE:
 		rqstp->rq_auth_stat = rpc_autherr_badcred;
 		goto err_bad_auth;
-	case SVC_SYSERR:
-		goto err_system_err;
 	case SVC_DENIED:
 		goto err_bad_auth;
 	case SVC_CLOSE:
@@ -1515,12 +1513,6 @@ svc_process_common(struct svc_rqst *rqstp)
 		serv->sv_stats->rpcbadfmt++;
 	*rqstp->rq_accept_statp = rpc_proc_unavail;
 	goto sendit;
-
-err_system_err:
-	if (serv->sv_stats)
-		serv->sv_stats->rpcbadfmt++;
-	*rqstp->rq_accept_statp = rpc_system_err;
-	goto sendit;
 }
 
 /*

-- 
2.49.0


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

* [PATCH 3/6] sunrpc: reset rq_accept_statp when starting a new RPC
  2025-06-20 12:16 [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Jeff Layton
  2025-06-20 12:16 ` [PATCH 1/6] sunrpc: fix handling of unknown auth status codes Jeff Layton
  2025-06-20 12:16 ` [PATCH 2/6] sunrpc: remove SVC_SYSERR Jeff Layton
@ 2025-06-20 12:16 ` Jeff Layton
  2025-06-20 12:16 ` [PATCH 4/6] sunrpc: return better error in svcauth_gss_accept() on alloc failure Jeff Layton
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jeff Layton @ 2025-06-20 12:16 UTC (permalink / raw)
  To: Chuck Lever, NeilBrown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
	Trond Myklebust, Anna Schumaker
  Cc: linux-nfs, linux-kernel, Jeff Layton

rq_accept_statp should point to the location of the accept_status in the
reply. This field is not reset between RPCs so if svc_authenticate or
pg_authenticate return SVC_DENIED without setting the pointer, it could
result in the status being written to the wrong place.

This pointer starts its lifetime as NULL. Reset it on every iteration
so we get consistent behavior if this happens.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 net/sunrpc/svc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index c6ceacedae28e2aafd15edd170a27cdaa84ec47f..b1fab3a6954437cf751e4725fa52cfc83eddf2ab 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -1334,6 +1334,9 @@ svc_process_common(struct svc_rqst *rqstp)
 	int			pr, rc;
 	__be32			*p;
 
+	/* Reset the accept_stat for the RPC */
+	rqstp->rq_accept_statp = NULL;
+
 	/* Will be turned off only when NFSv4 Sessions are used */
 	set_bit(RQ_USEDEFERRAL, &rqstp->rq_flags);
 	clear_bit(RQ_DROPME, &rqstp->rq_flags);

-- 
2.49.0


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

* [PATCH 4/6] sunrpc: return better error in svcauth_gss_accept() on alloc failure
  2025-06-20 12:16 [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Jeff Layton
                   ` (2 preceding siblings ...)
  2025-06-20 12:16 ` [PATCH 3/6] sunrpc: reset rq_accept_statp when starting a new RPC Jeff Layton
@ 2025-06-20 12:16 ` Jeff Layton
  2025-06-20 12:16 ` [PATCH 5/6] sunrpc: rearrange struct svc_rqst for fewer cachelines Jeff Layton
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Jeff Layton @ 2025-06-20 12:16 UTC (permalink / raw)
  To: Chuck Lever, NeilBrown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
	Trond Myklebust, Anna Schumaker
  Cc: linux-nfs, linux-kernel, Jeff Layton

This ends up returning AUTH_BADCRED when memory allocation fails today.
Fix it to return AUTH_FAILED, which better indicates a failure on the
server.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 net/sunrpc/auth_gss/svcauth_gss.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c
index 73a90ad873fb9da659ba76184b2e2a0e5324ce0d..e82212f6b5620b7d9981702aca5f1044f8a79804 100644
--- a/net/sunrpc/auth_gss/svcauth_gss.c
+++ b/net/sunrpc/auth_gss/svcauth_gss.c
@@ -1628,7 +1628,7 @@ svcauth_gss_accept(struct svc_rqst *rqstp)
 	int		ret;
 	struct sunrpc_net *sn = net_generic(SVC_NET(rqstp), sunrpc_net_id);
 
-	rqstp->rq_auth_stat = rpc_autherr_badcred;
+	rqstp->rq_auth_stat = rpc_autherr_failed;
 	if (!svcdata)
 		svcdata = kmalloc(sizeof(*svcdata), GFP_KERNEL);
 	if (!svcdata)
@@ -1638,6 +1638,7 @@ svcauth_gss_accept(struct svc_rqst *rqstp)
 	svcdata->rsci = NULL;
 	gc = &svcdata->clcred;
 
+	rqstp->rq_auth_stat = rpc_autherr_badcred;
 	if (!svcauth_gss_decode_credbody(&rqstp->rq_arg_stream, gc, &rpcstart))
 		goto auth_err;
 	if (gc->gc_v != RPC_GSS_VERSION)

-- 
2.49.0


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

* [PATCH 5/6] sunrpc: rearrange struct svc_rqst for fewer cachelines
  2025-06-20 12:16 [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Jeff Layton
                   ` (3 preceding siblings ...)
  2025-06-20 12:16 ` [PATCH 4/6] sunrpc: return better error in svcauth_gss_accept() on alloc failure Jeff Layton
@ 2025-06-20 12:16 ` Jeff Layton
  2025-06-20 12:16 ` [PATCH 6/6] sunrpc: make svc_tcp_sendmsg() take a signed sentp pointer Jeff Layton
  2025-06-23 13:49 ` [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Chuck Lever
  6 siblings, 0 replies; 8+ messages in thread
From: Jeff Layton @ 2025-06-20 12:16 UTC (permalink / raw)
  To: Chuck Lever, NeilBrown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
	Trond Myklebust, Anna Schumaker
  Cc: linux-nfs, linux-kernel, Jeff Layton

This shrinks the struct by 4 bytes, but also takes it from 19 to 18
cachelines on x86_64.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 include/linux/sunrpc/svc.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h
index 48666b83fe681aa57075bef4a46e66bc0f0fe3b9..40cbe81360ed493bc16e64b55818b21372e305f9 100644
--- a/include/linux/sunrpc/svc.h
+++ b/include/linux/sunrpc/svc.h
@@ -245,10 +245,10 @@ struct svc_rqst {
 						 * initialisation success.
 						 */
 
-	unsigned long	bc_to_initval;
-	unsigned int	bc_to_retries;
-	void **			rq_lease_breaker; /* The v4 client breaking a lease */
+	unsigned long		bc_to_initval;
+	unsigned int		bc_to_retries;
 	unsigned int		rq_status_counter; /* RPC processing counter */
+	void			**rq_lease_breaker; /* The v4 client breaking a lease */
 };
 
 /* bits for rq_flags */

-- 
2.49.0


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

* [PATCH 6/6] sunrpc: make svc_tcp_sendmsg() take a signed sentp pointer
  2025-06-20 12:16 [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Jeff Layton
                   ` (4 preceding siblings ...)
  2025-06-20 12:16 ` [PATCH 5/6] sunrpc: rearrange struct svc_rqst for fewer cachelines Jeff Layton
@ 2025-06-20 12:16 ` Jeff Layton
  2025-06-23 13:49 ` [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Chuck Lever
  6 siblings, 0 replies; 8+ messages in thread
From: Jeff Layton @ 2025-06-20 12:16 UTC (permalink / raw)
  To: Chuck Lever, NeilBrown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
	Trond Myklebust, Anna Schumaker
  Cc: linux-nfs, linux-kernel, Jeff Layton

The return value of sock_sendmsg() is signed, and svc_tcp_sendto() wants
a signed value to return.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 net/sunrpc/svcsock.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index e1c85123b445bf387e09565c025d8dd815187a07..46c156b121db43c1bd1806a08a3a9bf08b332699 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -1197,7 +1197,7 @@ static int svc_tcp_recvfrom(struct svc_rqst *rqstp)
  * that the pages backing @xdr are unchanging.
  */
 static int svc_tcp_sendmsg(struct svc_sock *svsk, struct svc_rqst *rqstp,
-			   rpc_fraghdr marker, unsigned int *sentp)
+			   rpc_fraghdr marker, int *sentp)
 {
 	struct msghdr msg = {
 		.msg_flags	= MSG_SPLICE_PAGES,
@@ -1247,8 +1247,7 @@ static int svc_tcp_sendto(struct svc_rqst *rqstp)
 	struct xdr_buf *xdr = &rqstp->rq_res;
 	rpc_fraghdr marker = cpu_to_be32(RPC_LAST_STREAM_FRAGMENT |
 					 (u32)xdr->len);
-	unsigned int sent;
-	int err;
+	int sent, err;
 
 	svc_tcp_release_ctxt(xprt, rqstp->rq_xprt_ctxt);
 	rqstp->rq_xprt_ctxt = NULL;

-- 
2.49.0


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

* Re: [PATCH 0/6] sunrpc: patches and cleanups for v6.17
  2025-06-20 12:16 [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Jeff Layton
                   ` (5 preceding siblings ...)
  2025-06-20 12:16 ` [PATCH 6/6] sunrpc: make svc_tcp_sendmsg() take a signed sentp pointer Jeff Layton
@ 2025-06-23 13:49 ` Chuck Lever
  6 siblings, 0 replies; 8+ messages in thread
From: Chuck Lever @ 2025-06-23 13:49 UTC (permalink / raw)
  To: NeilBrown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
	Trond Myklebust, Anna Schumaker, Jeff Layton
  Cc: Chuck Lever, linux-nfs, linux-kernel

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

On Fri, 20 Jun 2025 08:16:00 -0400, Jeff Layton wrote:
> The first 3 are directly related to the svc_process_common() patch I
> sent yesterday. They're just further cleanups and fixes to that
> codepath. The other two are random sunrpc patches I've been carrying for
> a while.
> 
> 

Applied to nfsd-testing, thanks!

[1/6] sunrpc: fix handling of unknown auth status codes
      commit: 0df827f0bd0529b4abd4f6c593f0416c8777df11
[2/6] sunrpc: remove SVC_SYSERR
      commit: 59d160a8f609674a51e7d90afbed8cb88534b962
[3/6] sunrpc: reset rq_accept_statp when starting a new RPC
      commit: 1e52e9a78dba2abf7c01b68c534d9ca22e9a1de7
[4/6] sunrpc: return better error in svcauth_gss_accept() on alloc failure
      commit: fedc609d9422e2b35e1a5af40b6ae134d6e4cc97
[5/6] sunrpc: rearrange struct svc_rqst for fewer cachelines
      commit: 32eb3ea18747600ebb2133ec167f6c56e71977be
[6/6] sunrpc: make svc_tcp_sendmsg() take a signed sentp pointer
      commit: 71d5b98c95c393e53a9cddac4e1c0f7a10ee92b2

--
Chuck Lever


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

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

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-20 12:16 [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Jeff Layton
2025-06-20 12:16 ` [PATCH 1/6] sunrpc: fix handling of unknown auth status codes Jeff Layton
2025-06-20 12:16 ` [PATCH 2/6] sunrpc: remove SVC_SYSERR Jeff Layton
2025-06-20 12:16 ` [PATCH 3/6] sunrpc: reset rq_accept_statp when starting a new RPC Jeff Layton
2025-06-20 12:16 ` [PATCH 4/6] sunrpc: return better error in svcauth_gss_accept() on alloc failure Jeff Layton
2025-06-20 12:16 ` [PATCH 5/6] sunrpc: rearrange struct svc_rqst for fewer cachelines Jeff Layton
2025-06-20 12:16 ` [PATCH 6/6] sunrpc: make svc_tcp_sendmsg() take a signed sentp pointer Jeff Layton
2025-06-23 13:49 ` [PATCH 0/6] sunrpc: patches and cleanups for v6.17 Chuck Lever

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).