tcp: Use WARN_ON_ONCE() in tcp_read_skb()
authorPeilin Ye <peilin.ye@bytedance.com>
Thu, 8 Sep 2022 23:15:23 +0000 (16:15 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 16 Sep 2022 14:29:19 +0000 (15:29 +0100)
Prevent tcp_read_skb() from flooding the syslog.

Suggested-by: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Peilin Ye <peilin.ye@bytedance.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c

index 6cdfce6f28672d42ce813ba2a9dc4d18b4939e42..3488388eea5dd0d4c5fa03c1b4ec2bcaf30a1120 100644 (file)
@@ -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;