* FAILED: patch "[PATCH] SUNRPC: Copy the deferred RPC Call from the head buffer" failed to apply to 5.10-stable tree
@ 2026-11-04 18:54 gregkh
2026-11-12 13:40 ` [PATCH 5.10.y] SUNRPC: Copy the deferred RPC Call from the head buffer Bjoern Doebel
0 siblings, 1 reply; 7+ messages in thread
From: gregkh @ 2026-11-04 18:54 UTC (permalink / raw)
To: cel, bug-report, yilinzhang; +Cc: stable
The patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@vger.kernel.org>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.10.y
git checkout FETCH_HEAD
git cherry-pick -x 2192a56b0686599358909c3e12e9a366f5b5d452
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2026110458-walnut-distant-f403@gregkh' --subject-prefix 'PATCH 5.10.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 2192a56b0686599358909c3e12e9a366f5b5d452 Mon Sep 17 00:00:00 2001
From: Chuck Lever <cel@kernel.org>
Date: Wed, 2 Sep 2026 09:31:01 -0400
Subject: [PATCH] SUNRPC: Copy the deferred RPC Call from the head buffer
svc_defer() snapshots the RPC Call for replay once a pending cache
upcall resolves. It copies the Call starting (rq_arg.len -
head[0].iov_len) bytes before head[0].iov_base, a back-up that once
covered a transport header. No transport has had one since commit
983084b2672c ("SUNRPC: Remove svc_rqst::rq_xprt_hlen"), so the two
lengths are meant to be equal.
An RPCSEC_GSS Call breaks that assumption. Unwrapping the integrity
service truncates rq_arg.len by the length of the trailing checksum,
and unwrapping the privacy service leaves rq_arg.len short by an
amount the client sets with trailing bytes after the wrap token.
Neither adjusts head[0].iov_len. Both lengths are size_t, so the
subtraction underflows and the copy starts past head[0].iov_base.
Every deferred integrity Call replays a shifted snapshot.
A deferred replay skips GSS verification, so a shifted snapshot runs
as an authenticated Call. With the privacy service the offset is
client-chosen. A forged Call placed in that window, naming another
user's GSS context handle, runs under that identity.
Copy the Call from head[0].iov_base. Refuse to defer a Call whose
length runs past the head buffer, so the copy cannot read out of
bounds.
Fixes: 260c1d1298f6 ("svc: Add transport hdr size for defer/revisit")
Cc: stable@vger.kernel.org
Reported-by: Kimi Security Team <bug-report@moonshot.ai>
Reported-by: Yilin Zhang <yilinzhang@moonshot.ai>
Link: https://patch.msgid.link/20260902133101.48914-1-cel@kernel.org
Signed-off-by: Chuck Lever <cel@kernel.org>
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index 68310521ddb9..d5634dd6d6cc 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -1299,13 +1299,8 @@ static void svc_revisit(struct cache_deferred_req *dreq, int too_many)
}
/*
- * Save the request off for later processing. The request buffer looks
- * like this:
- *
- * <xprt-header><rpc-header><rpc-pagelist><rpc-tail>
- *
- * This code can only handle requests that consist of an xprt-header
- * and rpc-header.
+ * Save the request off for later processing. Only a Call that fits
+ * entirely in rq_arg.head[0] can be deferred.
*/
static struct cache_deferred_req *svc_defer(struct cache_req *req)
{
@@ -1318,8 +1313,11 @@ static struct cache_deferred_req *svc_defer(struct cache_req *req)
dr = rqstp->rq_deferred;
rqstp->rq_deferred = NULL;
} else {
- size_t skip;
size_t size;
+
+ if (rqstp->rq_arg.len > rqstp->rq_arg.head[0].iov_len)
+ return NULL;
+
/* FIXME maybe discard if size too large */
size = sizeof(struct svc_deferred_req) + rqstp->rq_arg.len;
dr = kmalloc(size, GFP_KERNEL);
@@ -1333,9 +1331,7 @@ static struct cache_deferred_req *svc_defer(struct cache_req *req)
dr->daddr = rqstp->rq_daddr;
dr->argslen = rqstp->rq_arg.len >> 2;
- /* back up head to the start of the buffer and copy */
- skip = rqstp->rq_arg.len - rqstp->rq_arg.head[0].iov_len;
- memcpy(dr->args, rqstp->rq_arg.head[0].iov_base - skip,
+ memcpy(dr->args, rqstp->rq_arg.head[0].iov_base,
dr->argslen << 2);
}
dr->xprt_ctxt = rqstp->rq_xprt_ctxt;
@@ -1358,17 +1354,13 @@ static noinline int svc_deferred_recv(struct svc_rqst *rqstp)
trace_svc_defer_recv(dr);
- /* setup iov_base past transport header */
rqstp->rq_arg.head[0].iov_base = dr->args;
- /* The iov_len does not include the transport header bytes */
rqstp->rq_arg.head[0].iov_len = dr->argslen << 2;
rqstp->rq_arg.page_len = 0;
- /* The rq_arg.len includes the transport header bytes */
rqstp->rq_arg.len = dr->argslen << 2;
rqstp->rq_prot = dr->prot;
memcpy(&rqstp->rq_addr, &dr->addr, dr->addrlen);
rqstp->rq_addrlen = dr->addrlen;
- /* Save off transport header len in case we get deferred again */
rqstp->rq_daddr = dr->daddr;
rqstp->rq_xprt_ctxt = dr->xprt_ctxt;
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 5.10.y] SUNRPC: Copy the deferred RPC Call from the head buffer
2026-11-04 18:54 FAILED: patch "[PATCH] SUNRPC: Copy the deferred RPC Call from the head buffer" failed to apply to 5.10-stable tree gregkh
@ 2026-11-12 13:40 ` Bjoern Doebel
2026-11-12 13:55 ` [PATCH 5.10.y v2] " Bjoern Doebel
0 siblings, 1 reply; 7+ messages in thread
From: Bjoern Doebel @ 2026-11-12 13:40 UTC (permalink / raw)
To: stable; +Cc: Chuck Lever, Kimi Security Team, Yilin Zhang, Bjoern Doebel
From: Chuck Lever <cel@kernel.org>
svc_defer() snapshots the RPC Call for replay once a pending cache
upcall resolves. It copies the Call starting (rq_arg.len -
head[0].iov_len) bytes before head[0].iov_base, a back-up that once
covered a transport header. No transport has had one since commit
983084b2672c ("SUNRPC: Remove svc_rqst::rq_xprt_hlen"), so the two
lengths are meant to be equal.
An RPCSEC_GSS Call breaks that assumption. Unwrapping the integrity
service truncates rq_arg.len by the length of the trailing checksum,
and unwrapping the privacy service leaves rq_arg.len short by an
amount the client sets with trailing bytes after the wrap token.
Neither adjusts head[0].iov_len. Both lengths are size_t, so the
subtraction underflows and the copy starts past head[0].iov_base.
Every deferred integrity Call replays a shifted snapshot.
A deferred replay skips GSS verification, so a shifted snapshot runs
as an authenticated Call. With the privacy service the offset is
client-chosen. A forged Call placed in that window, naming another
user's GSS context handle, runs under that identity.
Copy the Call from head[0].iov_base. Refuse to defer a Call whose
length runs past the head buffer, so the copy cannot read out of
bounds.
Fixes: 260c1d1298f6 ("svc: Add transport hdr size for defer/revisit")
Cc: stable@vger.kernel.org
Reported-by: Kimi Security Team <bug-report@moonshot.ai>
Reported-by: Yilin Zhang <yilinzhang@moonshot.ai>
Link: https://patch.msgid.link/20260902133101.48914-1-cel@kernel.org
Signed-off-by: Chuck Lever <cel@kernel.org>
[doebel: 5.10 backport drops conflicting comment-only hunk]
Signed-off-by: Bjoern Doebel <doebel@amazon.de>
---
net/sunrpc/svc_xprt.c | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index 60782504ad3e7..a8bd4f7f9299d 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -1181,13 +1181,8 @@ static void svc_revisit(struct cache_deferred_req *dreq, int too_many)
}
/*
- * Save the request off for later processing. The request buffer looks
- * like this:
- *
- * <xprt-header><rpc-header><rpc-pagelist><rpc-tail>
- *
- * This code can only handle requests that consist of an xprt-header
- * and rpc-header.
+ * Save the request off for later processing. Only a Call that fits
+ * entirely in rq_arg.head[0] can be deferred.
*/
static struct cache_deferred_req *svc_defer(struct cache_req *req)
{
@@ -1200,8 +1195,11 @@ static struct cache_deferred_req *svc_defer(struct cache_req *req)
dr = rqstp->rq_deferred;
rqstp->rq_deferred = NULL;
} else {
- size_t skip;
size_t size;
+
+ if (rqstp->rq_arg.len > rqstp->rq_arg.head[0].iov_len)
+ return NULL;
+
/* FIXME maybe discard if size too large */
size = sizeof(struct svc_deferred_req) + rqstp->rq_arg.len;
dr = kmalloc(size, GFP_KERNEL);
@@ -1216,9 +1214,7 @@ static struct cache_deferred_req *svc_defer(struct cache_req *req)
dr->argslen = rqstp->rq_arg.len >> 2;
dr->xprt_hlen = rqstp->rq_xprt_hlen;
- /* back up head to the start of the buffer and copy */
- skip = rqstp->rq_arg.len - rqstp->rq_arg.head[0].iov_len;
- memcpy(dr->args, rqstp->rq_arg.head[0].iov_base - skip,
+ memcpy(dr->args, rqstp->rq_arg.head[0].iov_base,
dr->argslen << 2);
}
trace_svc_defer(rqstp);
--
2.50.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 5.10.y v2] SUNRPC: Copy the deferred RPC Call from the head buffer
2026-11-12 13:40 ` [PATCH 5.10.y] SUNRPC: Copy the deferred RPC Call from the head buffer Bjoern Doebel
@ 2026-11-12 13:55 ` Bjoern Doebel
2026-11-13 2:33 ` Sasha Levin
0 siblings, 1 reply; 7+ messages in thread
From: Bjoern Doebel @ 2026-11-12 13:55 UTC (permalink / raw)
To: stable; +Cc: Chuck Lever, Kimi Security Team, Yilin Zhang, Bjoern Doebel
From: Chuck Lever <cel@kernel.org>
commit 2192a56b0686599358909c3e12e9a366f5b5d452 upstream.
svc_defer() snapshots the RPC Call for replay once a pending cache
upcall resolves. It copies the Call starting (rq_arg.len -
head[0].iov_len) bytes before head[0].iov_base, a back-up that once
covered a transport header. No transport has had one since commit
983084b2672c ("SUNRPC: Remove svc_rqst::rq_xprt_hlen"), so the two
lengths are meant to be equal.
An RPCSEC_GSS Call breaks that assumption. Unwrapping the integrity
service truncates rq_arg.len by the length of the trailing checksum,
and unwrapping the privacy service leaves rq_arg.len short by an
amount the client sets with trailing bytes after the wrap token.
Neither adjusts head[0].iov_len. Both lengths are size_t, so the
subtraction underflows and the copy starts past head[0].iov_base.
Every deferred integrity Call replays a shifted snapshot.
A deferred replay skips GSS verification, so a shifted snapshot runs
as an authenticated Call. With the privacy service the offset is
client-chosen. A forged Call placed in that window, naming another
user's GSS context handle, runs under that identity.
Copy the Call from head[0].iov_base. Refuse to defer a Call whose
length runs past the head buffer, so the copy cannot read out of
bounds.
Fixes: 260c1d1298f6 ("svc: Add transport hdr size for defer/revisit")
Cc: stable@vger.kernel.org
Reported-by: Kimi Security Team <bug-report@moonshot.ai>
Reported-by: Yilin Zhang <yilinzhang@moonshot.ai>
Link: https://patch.msgid.link/20260902133101.48914-1-cel@kernel.org
Signed-off-by: Chuck Lever <cel@kernel.org>
[doebel: 5.10 lacks 983084b2672c; keep xprt_hlen and its comments in
svc_deferred_recv(). The removed skip is zero for all 5.10 transports.]
Signed-off-by: Bjoern Doebel <doebel@amazon.de>
---
v2:
- Add the "commit <sha1> upstream." line.
- Document why the backport differs from upstream.
net/sunrpc/svc_xprt.c | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index 60782504ad3e7..a8bd4f7f9299d 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -1181,13 +1181,8 @@ static void svc_revisit(struct cache_deferred_req *dreq, int too_many)
}
/*
- * Save the request off for later processing. The request buffer looks
- * like this:
- *
- * <xprt-header><rpc-header><rpc-pagelist><rpc-tail>
- *
- * This code can only handle requests that consist of an xprt-header
- * and rpc-header.
+ * Save the request off for later processing. Only a Call that fits
+ * entirely in rq_arg.head[0] can be deferred.
*/
static struct cache_deferred_req *svc_defer(struct cache_req *req)
{
@@ -1200,8 +1195,11 @@ static struct cache_deferred_req *svc_defer(struct cache_req *req)
dr = rqstp->rq_deferred;
rqstp->rq_deferred = NULL;
} else {
- size_t skip;
size_t size;
+
+ if (rqstp->rq_arg.len > rqstp->rq_arg.head[0].iov_len)
+ return NULL;
+
/* FIXME maybe discard if size too large */
size = sizeof(struct svc_deferred_req) + rqstp->rq_arg.len;
dr = kmalloc(size, GFP_KERNEL);
@@ -1216,9 +1214,7 @@ static struct cache_deferred_req *svc_defer(struct cache_req *req)
dr->argslen = rqstp->rq_arg.len >> 2;
dr->xprt_hlen = rqstp->rq_xprt_hlen;
- /* back up head to the start of the buffer and copy */
- skip = rqstp->rq_arg.len - rqstp->rq_arg.head[0].iov_len;
- memcpy(dr->args, rqstp->rq_arg.head[0].iov_base - skip,
+ memcpy(dr->args, rqstp->rq_arg.head[0].iov_base,
dr->argslen << 2);
}
trace_svc_defer(rqstp);
--
2.50.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 5.10.y v2] SUNRPC: Copy the deferred RPC Call from the head buffer
2026-11-12 13:55 ` [PATCH 5.10.y v2] " Bjoern Doebel
@ 2026-11-13 2:33 ` Sasha Levin
2026-11-13 10:24 ` [PATCH 5.10.y v3] " Bjoern Doebel
2026-11-13 17:24 ` [PATCH 5.10.y v2] " Bjoern Doebel
0 siblings, 2 replies; 7+ messages in thread
From: Sasha Levin @ 2026-11-13 2:33 UTC (permalink / raw)
To: stable
Cc: Sasha Levin, Chuck Lever, Kimi Security Team, Yilin Zhang,
Bjoern Doebel
On 2026-11-12, Bjoern Doebel wrote:
> [PATCH 5.10.y v2] SUNRPC: Copy the deferred RPC Call from the head buffer
> svc_defer() snapshots the RPC Call for replay once a pending cache
> upcall resolves. It copies the Call starting (rq_arg.len -
> head[0].iov_len) bytes before head[0].iov_base, a back-up that once
On 5.10 the RPC header is already consumed from head[0] before svc_defer()
runs, so the premise behind the new check in 2192a56b0686 ("SUNRPC: Copy the
deferred RPC Call from the head buffer"), rq_arg.len == head[0].iov_len,
doesn't hold. With it, nearly every request would be refused deferral.
Could you rework the 5.10 version so it doesn't change that behavior and send a
v3?
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 5.10.y v3] SUNRPC: Copy the deferred RPC Call from the head buffer
2026-11-13 2:33 ` Sasha Levin
@ 2026-11-13 10:24 ` Bjoern Doebel
2026-11-13 19:09 ` Sasha Levin
2026-11-13 17:24 ` [PATCH 5.10.y v2] " Bjoern Doebel
1 sibling, 1 reply; 7+ messages in thread
From: Bjoern Doebel @ 2026-11-13 10:24 UTC (permalink / raw)
To: stable; +Cc: sashal, cel, bug-report, yilinzhang, doebel
From: Chuck Lever <cel@kernel.org>
commit 2192a56b0686599358909c3e12e9a366f5b5d452 upstream.
svc_defer() snapshots the RPC Call for replay once a pending cache
upcall resolves. It copies the Call starting (rq_arg.len -
head[0].iov_len) bytes before head[0].iov_base, a back-up that once
covered a transport header. No transport has had one since commit
983084b2672c ("SUNRPC: Remove svc_rqst::rq_xprt_hlen"), so the two
lengths are meant to be equal.
An RPCSEC_GSS Call breaks that assumption. Unwrapping the integrity
service truncates rq_arg.len by the length of the trailing checksum,
and unwrapping the privacy service leaves rq_arg.len short by an
amount the client sets with trailing bytes after the wrap token.
Neither adjusts head[0].iov_len. Both lengths are size_t, so the
subtraction underflows and the copy starts past head[0].iov_base.
Every deferred integrity Call replays a shifted snapshot.
A deferred replay skips GSS verification, so a shifted snapshot runs
as an authenticated Call. With the privacy service the offset is
client-chosen. A forged Call placed in that window, naming another
user's GSS context handle, runs under that identity.
Copy the Call from head[0].iov_base. Refuse to defer a Call whose
length runs past the head buffer, so the copy cannot read out of
bounds.
Fixes: 260c1d1298f6 ("svc: Add transport hdr size for defer/revisit")
Cc: stable@vger.kernel.org
Reported-by: Kimi Security Team <bug-report@moonshot.ai>
Reported-by: Yilin Zhang <yilinzhang@moonshot.ai>
Link: https://patch.msgid.link/20260902133101.48914-1-cel@kernel.org
Signed-off-by: Chuck Lever <cel@kernel.org>
[doebel: 5.10 backport. Here rq_arg.len > head[0].iov_len for every
Call at svc_defer() time, so the upstream guard and copy-from-iov_base
cannot apply; keep the skip-based snapshot that svc_deferred_recv()
expects (5.10 still has rq_xprt_hlen). Only gss_unwrap_kerberos_v2()
breaks the len - iov_len invariant, by resetting buf->len; refuse to
defer after a GSS integrity/privacy unwrap (rq_auth_slack != 0) or
when len < head[0].iov_len.]
Signed-off-by: Bjoern Doebel <doebel@amazon.de>
---
v3:
- Rework for 5.10's accounting per Sasha's feedback: keep the
skip-based snapshot (5.10 still has rq_xprt_hlen and
svc_deferred_recv() depends on it); refuse deferral only after a
GSS integrity/privacy unwrap (rq_auth_slack != 0) or when
len < head[0].iov_len, since gss_unwrap_kerberos_v2() resets
buf->len and breaks the len - iov_len invariant.
v2:
- Add the "commit <sha1> upstream." line.
- Document why the backport differs from upstream.
net/sunrpc/svc_xprt.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index 60782504ad3e7..8970abdfaab46 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -1202,6 +1202,20 @@ static struct cache_deferred_req *svc_defer(struct cache_req *req)
} else {
size_t skip;
size_t size;
+
+ /*
+ * A GSS integrity/privacy unwrap can reset rq_arg.len so
+ * it no longer measures from the start of the receive
+ * buffer (see gss_unwrap_kerberos_v2()). In that state
+ * len - iov_len does not locate the buffer start, and a
+ * snapshot taken here would be replayed without GSS
+ * verification. Refuse to defer; the caller fails the
+ * request and the client retries.
+ */
+ if (rqstp->rq_auth_slack ||
+ rqstp->rq_arg.len < rqstp->rq_arg.head[0].iov_len)
+ return NULL;
+
/* FIXME maybe discard if size too large */
size = sizeof(struct svc_deferred_req) + rqstp->rq_arg.len;
dr = kmalloc(size, GFP_KERNEL);
--
2.50.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 5.10.y v2] SUNRPC: Copy the deferred RPC Call from the head buffer
2026-11-13 2:33 ` Sasha Levin
2026-11-13 10:24 ` [PATCH 5.10.y v3] " Bjoern Doebel
@ 2026-11-13 17:24 ` Bjoern Doebel
1 sibling, 0 replies; 7+ messages in thread
From: Bjoern Doebel @ 2026-11-13 17:24 UTC (permalink / raw)
To: Sasha Levin; +Cc: Bjoern Doebel, stable, Chuck Lever
Hi Sasha,
thanks for raising this. I sent a v3 earlier in this thread ([PATCH
5.10.y v3]) that reworks the backport instead of applying the upstream
mechanics.
The short version: on 5.10, header parsing advances rq_arg.head[0]
via svc_getnl() without updating xdr_buf::len, so
rq_arg.len > head[0].iov_len for every Call at svc_defer() time. The
upstream guard would refuse every deferral, and copying from
head[0].iov_base would drop the headers svc_deferred_recv() expects.
v3 therefore keeps the skip-based snapshot and refuses deferral only
once a GSS integrity/privacy unwrap has run (rq_auth_slack != 0) or
when len < head[0].iov_len, since gss_unwrap_kerberos_v2() resets
buf->len.
The same rework applies to 5.15 and 6.1. The assumption upstream relies
on only holds since header parsing moved to xdr_stream in v6.3
(163cdfca341b7, "SUNRPC: Decode most of RPC header with xdr_stream");
5.15 and 6.1 still use svc_getnl(). I see the verbatim patch is
already queued for both trees - it will refuse all deferrals there,
just like my v2 would have on 5.10.
Want me to send v3-style backports for 5.15.y and 6.1.y?
Best regards,
Bjoern
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 5.10.y v3] SUNRPC: Copy the deferred RPC Call from the head buffer
2026-11-13 10:24 ` [PATCH 5.10.y v3] " Bjoern Doebel
@ 2026-11-13 19:09 ` Sasha Levin
0 siblings, 0 replies; 7+ messages in thread
From: Sasha Levin @ 2026-11-13 19:09 UTC (permalink / raw)
To: stable; +Cc: Sasha Levin, cel, bug-report, yilinzhang, doebel
On Fri, Nov 13, 2026, Bjoern Doebel wrote:
> Subject: [PATCH 5.10.y v3] SUNRPC: Copy the deferred RPC Call from the head buffer
Queued for 5.10, thanks.
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-11-13 19:10 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-04 18:54 FAILED: patch "[PATCH] SUNRPC: Copy the deferred RPC Call from the head buffer" failed to apply to 5.10-stable tree gregkh
2026-11-12 13:40 ` [PATCH 5.10.y] SUNRPC: Copy the deferred RPC Call from the head buffer Bjoern Doebel
2026-11-12 13:55 ` [PATCH 5.10.y v2] " Bjoern Doebel
2026-11-13 2:33 ` Sasha Levin
2026-11-13 10:24 ` [PATCH 5.10.y v3] " Bjoern Doebel
2026-11-13 19:09 ` Sasha Levin
2026-11-13 17:24 ` [PATCH 5.10.y v2] " Bjoern Doebel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox