[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230103192736.454149-1-edumazet@google.com>
Date: Tue, 3 Jan 2023 19:27:36 +0000
From: Eric Dumazet <edumazet@...gle.com>
To: "David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: netdev@...r.kernel.org, eric.dumazet@...il.com,
Eric Dumazet <edumazet@...gle.com>,
syzbot+bebc6f1acdf4cbb79b03@...kaller.appspotmail.com,
Guillaume Nault <gnault@...hat.com>,
Benjamin Coddington <bcodding@...hat.com>
Subject: [PATCH net] inet: control sockets should not use current thread task_frag
Because ICMP handlers run from softirq contexts,
they must not use current thread task_frag.
Previously, all sockets allocated by inet_ctl_sock_create()
would use the per-socket page fragment, with no chance of
recursion.
Fixes: 98123866fcf3 ("Treewide: Stop corrupting socket's task_frag")
Reported-by: syzbot+bebc6f1acdf4cbb79b03@...kaller.appspotmail.com
Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Cc: Guillaume Nault <gnault@...hat.com>
Cc: Benjamin Coddington <bcodding@...hat.com>
---
net/ipv4/af_inet.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index ab4a06be489b5d410cec603bf56248d31dbc90dd..6c0ec27899431eb56e2f9d0c3a936b77f44ccaca 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1665,6 +1665,7 @@ int inet_ctl_sock_create(struct sock **sk, unsigned short family,
if (rc == 0) {
*sk = sock->sk;
(*sk)->sk_allocation = GFP_ATOMIC;
+ (*sk)->sk_use_task_frag = false;
/*
* Unhash it so that IP input processing does not even see it,
* we do not wish this socket to see incoming packets.
--
2.39.0.314.g84b9a713c41-goog
Powered by blists - more mailing lists