lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20220913184016.16095-1-yepeilin.cs@gmail.com> Date: Tue, 13 Sep 2022 11:40:16 -0700 From: Peilin Ye <yepeilin.cs@...il.com> To: Eric Dumazet <edumazet@...gle.com>, "David S. Miller" <davem@...emloft.net>, Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>, David Ahern <dsahern@...nel.org>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com> Cc: Peilin Ye <peilin.ye@...edance.com>, Cong Wang <cong.wang@...edance.com>, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, Peilin Ye <yepeilin.cs@...il.com> Subject: [PATCH net v2] net: Use WARN_ON_ONCE() in {tcp,udp}_read_skb() From: Peilin Ye <peilin.ye@...edance.com> Prevent tcp_read_skb() and udp_read_skb() from flooding the syslog. Suggested-by: Jakub Sitnicki <jakub@...udflare.com> Signed-off-by: Peilin Ye <peilin.ye@...edance.com> --- change since v1: - do the same to udp_read_skb() (Cong Wang) Cong's tcp_read_skb() fix [1] depends on this patch. [1] https://lore.kernel.org/netdev/20220912173553.235838-1-xiyou.wangcong@gmail.com/ Thanks, Peilin Ye net/ipv4/tcp.c | 2 +- net/ipv4/udp.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 8230be00ecca..9251c99d3cfd 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -1766,7 +1766,7 @@ int tcp_read_skb(struct sock *sk, skb_read_actor_t recv_actor) return 0; __skb_unlink(skb, &sk->sk_receive_queue); - WARN_ON(!skb_set_owner_sk_safe(skb, sk)); + WARN_ON_ONCE(!skb_set_owner_sk_safe(skb, sk)); copied = recv_actor(sk, skb); if (copied >= 0) { seq += copied; diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index cd72158e953a..560d9eadeaa5 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -1821,7 +1821,7 @@ int udp_read_skb(struct sock *sk, skb_read_actor_t recv_actor) continue; } - WARN_ON(!skb_set_owner_sk_safe(skb, sk)); + WARN_ON_ONCE(!skb_set_owner_sk_safe(skb, sk)); used = recv_actor(sk, skb); if (used <= 0) { if (!copied) -- 2.20.1
Powered by blists - more mailing lists