* [PATCH 6.1] tls: rx: strp: don't use GFP_KERNEL in softirq context
@ 2023-06-06 4:42 Jakub Kicinski
2023-06-07 18:31 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: Jakub Kicinski @ 2023-06-06 4:42 UTC (permalink / raw)
To: stable; +Cc: gregkh, kuba
[ Upstream commit 74836ec828fe17b63f2006fdbf53311d691396bf ]
When receive buffer is small, or the TCP rx queue looks too
complicated to bother using it directly - we allocate a new
skb and copy data into it.
We already use sk->sk_allocation... but nothing actually
sets it to GFP_ATOMIC on the ->sk_data_ready() path.
Users of HW offload are far more likely to experience problems
due to scheduling while atomic. "Copy mode" is very rarely
triggered with SW crypto.
Fixes: 84c61fe1a75b ("tls: rx: do not use the standard strparser")
Tested-by: Shai Amiram <samiram@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
net/tls/tls_sw.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c
index 992092aeebad..3a08cf1258b5 100644
--- a/net/tls/tls_sw.c
+++ b/net/tls/tls_sw.c
@@ -2287,8 +2287,12 @@ static void tls_data_ready(struct sock *sk)
struct tls_context *tls_ctx = tls_get_ctx(sk);
struct tls_sw_context_rx *ctx = tls_sw_ctx_rx(tls_ctx);
struct sk_psock *psock;
+ gfp_t alloc_save;
+ alloc_save = sk->sk_allocation;
+ sk->sk_allocation = GFP_ATOMIC;
tls_strp_data_ready(&ctx->strp);
+ sk->sk_allocation = alloc_save;
psock = sk_psock_get(sk);
if (psock) {
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 6.1] tls: rx: strp: don't use GFP_KERNEL in softirq context
2023-06-06 4:42 [PATCH 6.1] tls: rx: strp: don't use GFP_KERNEL in softirq context Jakub Kicinski
@ 2023-06-07 18:31 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2023-06-07 18:31 UTC (permalink / raw)
To: Jakub Kicinski; +Cc: stable
On Mon, Jun 05, 2023 at 09:42:41PM -0700, Jakub Kicinski wrote:
> [ Upstream commit 74836ec828fe17b63f2006fdbf53311d691396bf ]
>
> When receive buffer is small, or the TCP rx queue looks too
> complicated to bother using it directly - we allocate a new
> skb and copy data into it.
>
> We already use sk->sk_allocation... but nothing actually
> sets it to GFP_ATOMIC on the ->sk_data_ready() path.
>
> Users of HW offload are far more likely to experience problems
> due to scheduling while atomic. "Copy mode" is very rarely
> triggered with SW crypto.
>
> Fixes: 84c61fe1a75b ("tls: rx: do not use the standard strparser")
> Tested-by: Shai Amiram <samiram@nvidia.com>
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> Reviewed-by: Simon Horman <simon.horman@corigine.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> ---
> net/tls/tls_sw.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
Now queued up, thanks.
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-06-07 18:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-06 4:42 [PATCH 6.1] tls: rx: strp: don't use GFP_KERNEL in softirq context Jakub Kicinski
2023-06-07 18:31 ` Greg KH
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).