* [PATCH v2 net-next 0/8] net: few debug refinements
@ 2022-06-08 16:04 Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 1/8] net: use DEBUG_NET_WARN_ON_ONCE() in __release_sock() Eric Dumazet
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Eric Dumazet @ 2022-06-08 16:04 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, Eric Dumazet, Eric Dumazet
From: Eric Dumazet <edumazet@google.com>
Adopt DEBUG_NET_WARN_ON_ONCE() or WARN_ON_ONCE()
in some places where it makes sense.
Add checks in napi_consume_skb() and __napi_alloc_skb()
Make sure napi_get_frags() does not use page fragments
for skb->head.
Eric Dumazet (8):
net: use DEBUG_NET_WARN_ON_ONCE() in __release_sock()
net: use DEBUG_NET_WARN_ON_ONCE() in dev_loopback_xmit()
net: use WARN_ON_ONCE() in inet_sock_destruct()
net: use WARN_ON_ONCE() in sk_stream_kill_queues()
af_unix: use DEBUG_NET_WARN_ON_ONCE()
net: use DEBUG_NET_WARN_ON_ONCE() in skb_release_head_state()
net: add debug checks in napi_consume_skb and __napi_alloc_skb()
net: add napi_get_frags_check() helper
net/core/dev.c | 20 +++++++++++++++++++-
net/core/skbuff.c | 5 +++--
net/core/sock.c | 2 +-
net/core/stream.c | 6 +++---
net/ipv4/af_inet.c | 8 ++++----
net/unix/af_unix.c | 8 ++++----
6 files changed, 34 insertions(+), 15 deletions(-)
--
2.36.1.255.ge46751e96f-goog
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 net-next 1/8] net: use DEBUG_NET_WARN_ON_ONCE() in __release_sock()
2022-06-08 16:04 [PATCH v2 net-next 0/8] net: few debug refinements Eric Dumazet
@ 2022-06-08 16:04 ` Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 2/8] net: use DEBUG_NET_WARN_ON_ONCE() in dev_loopback_xmit() Eric Dumazet
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Eric Dumazet @ 2022-06-08 16:04 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, Eric Dumazet, Eric Dumazet
From: Eric Dumazet <edumazet@google.com>
Check against skb dst in socket backlog has never triggered
in past years.
Keep the check omly for CONFIG_DEBUG_NET=y builds.
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/core/sock.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/sock.c b/net/core/sock.c
index 2ff40dd0a7a652029cca1743109286b50c2a17f3..f5062d9e122275a511efbc4d30de2ee501182498 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -2844,7 +2844,7 @@ void __release_sock(struct sock *sk)
do {
next = skb->next;
prefetch(next);
- WARN_ON_ONCE(skb_dst_is_noref(skb));
+ DEBUG_NET_WARN_ON_ONCE(skb_dst_is_noref(skb));
skb_mark_not_on_list(skb);
sk_backlog_rcv(sk, skb);
--
2.36.1.255.ge46751e96f-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 net-next 2/8] net: use DEBUG_NET_WARN_ON_ONCE() in dev_loopback_xmit()
2022-06-08 16:04 [PATCH v2 net-next 0/8] net: few debug refinements Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 1/8] net: use DEBUG_NET_WARN_ON_ONCE() in __release_sock() Eric Dumazet
@ 2022-06-08 16:04 ` Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 3/8] net: use WARN_ON_ONCE() in inet_sock_destruct() Eric Dumazet
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Eric Dumazet @ 2022-06-08 16:04 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, Eric Dumazet, Eric Dumazet
From: Eric Dumazet <edumazet@google.com>
One check in dev_loopback_xmit() has not caught issues
in the past.
Keep it for CONFIG_DEBUG_NET=y builds only.
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/core/dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 08ce317fcec89609f6f8e9335b3d9f57e813024d..27ad09ad80a4550097ce4d113719a558b5e2a811 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3925,7 +3925,7 @@ int dev_loopback_xmit(struct net *net, struct sock *sk, struct sk_buff *skb)
skb->pkt_type = PACKET_LOOPBACK;
if (skb->ip_summed == CHECKSUM_NONE)
skb->ip_summed = CHECKSUM_UNNECESSARY;
- WARN_ON(!skb_dst(skb));
+ DEBUG_NET_WARN_ON_ONCE(!skb_dst(skb));
skb_dst_force(skb);
netif_rx(skb);
return 0;
--
2.36.1.255.ge46751e96f-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 net-next 3/8] net: use WARN_ON_ONCE() in inet_sock_destruct()
2022-06-08 16:04 [PATCH v2 net-next 0/8] net: few debug refinements Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 1/8] net: use DEBUG_NET_WARN_ON_ONCE() in __release_sock() Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 2/8] net: use DEBUG_NET_WARN_ON_ONCE() in dev_loopback_xmit() Eric Dumazet
@ 2022-06-08 16:04 ` Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 4/8] net: use WARN_ON_ONCE() in sk_stream_kill_queues() Eric Dumazet
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Eric Dumazet @ 2022-06-08 16:04 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, Eric Dumazet, Eric Dumazet
From: Eric Dumazet <edumazet@google.com>
inet_sock_destruct() has four warnings which have been
useful to point to kernel bugs in the past.
However they are potentially a problem because they
could flood the syslog.
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/ipv4/af_inet.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 93da9f783bec52e4bda6213dc78ef3820e180cc4..30e0e8992085d5d4ac5941b5f3a101f798588be9 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -148,10 +148,10 @@ void inet_sock_destruct(struct sock *sk)
return;
}
- WARN_ON(atomic_read(&sk->sk_rmem_alloc));
- WARN_ON(refcount_read(&sk->sk_wmem_alloc));
- WARN_ON(sk->sk_wmem_queued);
- WARN_ON(sk_forward_alloc_get(sk));
+ WARN_ON_ONCE(atomic_read(&sk->sk_rmem_alloc));
+ WARN_ON_ONCE(refcount_read(&sk->sk_wmem_alloc));
+ WARN_ON_ONCE(sk->sk_wmem_queued);
+ WARN_ON_ONCE(sk_forward_alloc_get(sk));
kfree(rcu_dereference_protected(inet->inet_opt, 1));
dst_release(rcu_dereference_protected(sk->sk_dst_cache, 1));
--
2.36.1.255.ge46751e96f-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 net-next 4/8] net: use WARN_ON_ONCE() in sk_stream_kill_queues()
2022-06-08 16:04 [PATCH v2 net-next 0/8] net: few debug refinements Eric Dumazet
` (2 preceding siblings ...)
2022-06-08 16:04 ` [PATCH v2 net-next 3/8] net: use WARN_ON_ONCE() in inet_sock_destruct() Eric Dumazet
@ 2022-06-08 16:04 ` Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 5/8] af_unix: use DEBUG_NET_WARN_ON_ONCE() Eric Dumazet
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Eric Dumazet @ 2022-06-08 16:04 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, Eric Dumazet, Eric Dumazet
From: Eric Dumazet <edumazet@google.com>
sk_stream_kill_queues() has three checks which have been
useful to detect kernel bugs in the past.
However they are potentially a problem because they
could flood the syslog.
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/core/stream.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/net/core/stream.c b/net/core/stream.c
index 06b36c730ce8a29bb2d8984495e780931907ca72..ccc083cdef23266dc100368a7183bdeb0e99cbb7 100644
--- a/net/core/stream.c
+++ b/net/core/stream.c
@@ -196,13 +196,13 @@ void sk_stream_kill_queues(struct sock *sk)
__skb_queue_purge(&sk->sk_receive_queue);
/* Next, the write queue. */
- WARN_ON(!skb_queue_empty(&sk->sk_write_queue));
+ WARN_ON_ONCE(!skb_queue_empty(&sk->sk_write_queue));
/* Account for returned memory. */
sk_mem_reclaim_final(sk);
- WARN_ON(sk->sk_wmem_queued);
- WARN_ON(sk->sk_forward_alloc);
+ WARN_ON_ONCE(sk->sk_wmem_queued);
+ WARN_ON_ONCE(sk->sk_forward_alloc);
/* It is _impossible_ for the backlog to contain anything
* when we get here. All user references to this socket
--
2.36.1.255.ge46751e96f-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 net-next 5/8] af_unix: use DEBUG_NET_WARN_ON_ONCE()
2022-06-08 16:04 [PATCH v2 net-next 0/8] net: few debug refinements Eric Dumazet
` (3 preceding siblings ...)
2022-06-08 16:04 ` [PATCH v2 net-next 4/8] net: use WARN_ON_ONCE() in sk_stream_kill_queues() Eric Dumazet
@ 2022-06-08 16:04 ` Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 6/8] net: use DEBUG_NET_WARN_ON_ONCE() in skb_release_head_state() Eric Dumazet
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Eric Dumazet @ 2022-06-08 16:04 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, Eric Dumazet, Eric Dumazet
From: Eric Dumazet <edumazet@google.com>
Replace four WARN_ON() that have not triggered recently
with DEBUG_NET_WARN_ON_ONCE().
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/unix/af_unix.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 654dcef7cfb3849463be9d905ae625319fbae406..ae254195aac87f196a93853443048b40e332cc60 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -302,7 +302,7 @@ static void __unix_remove_socket(struct sock *sk)
static void __unix_insert_socket(struct sock *sk)
{
- WARN_ON(!sk_unhashed(sk));
+ DEBUG_NET_WARN_ON_ONCE(!sk_unhashed(sk));
sk_add_node(sk, &unix_socket_table[sk->sk_hash]);
}
@@ -554,9 +554,9 @@ static void unix_sock_destructor(struct sock *sk)
u->oob_skb = NULL;
}
#endif
- WARN_ON(refcount_read(&sk->sk_wmem_alloc));
- WARN_ON(!sk_unhashed(sk));
- WARN_ON(sk->sk_socket);
+ DEBUG_NET_WARN_ON_ONCE(refcount_read(&sk->sk_wmem_alloc));
+ DEBUG_NET_WARN_ON_ONCE(!sk_unhashed(sk));
+ DEBUG_NET_WARN_ON_ONCE(sk->sk_socket);
if (!sock_flag(sk, SOCK_DEAD)) {
pr_info("Attempt to release alive unix socket: %p\n", sk);
return;
--
2.36.1.255.ge46751e96f-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 net-next 6/8] net: use DEBUG_NET_WARN_ON_ONCE() in skb_release_head_state()
2022-06-08 16:04 [PATCH v2 net-next 0/8] net: few debug refinements Eric Dumazet
` (4 preceding siblings ...)
2022-06-08 16:04 ` [PATCH v2 net-next 5/8] af_unix: use DEBUG_NET_WARN_ON_ONCE() Eric Dumazet
@ 2022-06-08 16:04 ` Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 7/8] net: add debug checks in napi_consume_skb and __napi_alloc_skb() Eric Dumazet
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Eric Dumazet @ 2022-06-08 16:04 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, Eric Dumazet, Eric Dumazet
From: Eric Dumazet <edumazet@google.com>
Remove this check from fast path unless CONFIG_DEBUG_NET=y
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/core/skbuff.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index b661040c100efbb59aea58ed31247f820292bd64..cf83d9b8f41dc28ae11391f2651e5abee3dcde8f 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -728,7 +728,7 @@ void skb_release_head_state(struct sk_buff *skb)
{
skb_dst_drop(skb);
if (skb->destructor) {
- WARN_ON(in_hardirq());
+ DEBUG_NET_WARN_ON_ONCE(in_hardirq());
skb->destructor(skb);
}
#if IS_ENABLED(CONFIG_NF_CONNTRACK)
--
2.36.1.255.ge46751e96f-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 net-next 7/8] net: add debug checks in napi_consume_skb and __napi_alloc_skb()
2022-06-08 16:04 [PATCH v2 net-next 0/8] net: few debug refinements Eric Dumazet
` (5 preceding siblings ...)
2022-06-08 16:04 ` [PATCH v2 net-next 6/8] net: use DEBUG_NET_WARN_ON_ONCE() in skb_release_head_state() Eric Dumazet
@ 2022-06-08 16:04 ` Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 8/8] net: add napi_get_frags_check() helper Eric Dumazet
2022-06-10 5:40 ` [PATCH v2 net-next 0/8] net: few debug refinements patchwork-bot+netdevbpf
8 siblings, 0 replies; 10+ messages in thread
From: Eric Dumazet @ 2022-06-08 16:04 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, Eric Dumazet, Eric Dumazet
From: Eric Dumazet <edumazet@google.com>
Commit 6454eca81eae ("net: Use lockdep_assert_in_softirq()
in napi_consume_skb()") added a check in napi_consume_skb()
which is a bit weak.
napi_consume_skb() and __napi_alloc_skb() should only
be used from BH context, not from hard irq or nmi context,
otherwise we could have races.
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/core/skbuff.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index cf83d9b8f41dc28ae11391f2651e5abee3dcde8f..fec75f8bf1f416f05c14f76009a15412b2559b6e 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -560,6 +560,7 @@ struct sk_buff *__napi_alloc_skb(struct napi_struct *napi, unsigned int len,
struct sk_buff *skb;
void *data;
+ DEBUG_NET_WARN_ON_ONCE(!in_softirq());
len += NET_SKB_PAD + NET_IP_ALIGN;
/* If requested length is either too small or too big,
@@ -981,7 +982,7 @@ void napi_consume_skb(struct sk_buff *skb, int budget)
return;
}
- lockdep_assert_in_softirq();
+ DEBUG_NET_WARN_ON_ONCE(!in_softirq());
if (!skb_unref(skb))
return;
--
2.36.1.255.ge46751e96f-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 net-next 8/8] net: add napi_get_frags_check() helper
2022-06-08 16:04 [PATCH v2 net-next 0/8] net: few debug refinements Eric Dumazet
` (6 preceding siblings ...)
2022-06-08 16:04 ` [PATCH v2 net-next 7/8] net: add debug checks in napi_consume_skb and __napi_alloc_skb() Eric Dumazet
@ 2022-06-08 16:04 ` Eric Dumazet
2022-06-10 5:40 ` [PATCH v2 net-next 0/8] net: few debug refinements patchwork-bot+netdevbpf
8 siblings, 0 replies; 10+ messages in thread
From: Eric Dumazet @ 2022-06-08 16:04 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, Eric Dumazet, Eric Dumazet
From: Eric Dumazet <edumazet@google.com>
This is a follow up of commit 3226b158e67c
("net: avoid 32 x truesize under-estimation for tiny skbs")
When/if we increase MAX_SKB_FRAGS, we better make sure
the old bug will not come back.
Adding a check in napi_get_frags() would be costly,
even if using DEBUG_NET_WARN_ON_ONCE().
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/core/dev.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/net/core/dev.c b/net/core/dev.c
index 27ad09ad80a4550097ce4d113719a558b5e2a811..4ce9b2563a116066d85bae7a862e38fb160ef0e2 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -6351,6 +6351,23 @@ int dev_set_threaded(struct net_device *dev, bool threaded)
}
EXPORT_SYMBOL(dev_set_threaded);
+/* Double check that napi_get_frags() allocates skbs with
+ * skb->head being backed by slab, not a page fragment.
+ * This is to make sure bug fixed in 3226b158e67c
+ * ("net: avoid 32 x truesize under-estimation for tiny skbs")
+ * does not accidentally come back.
+ */
+static void napi_get_frags_check(struct napi_struct *napi)
+{
+ struct sk_buff *skb;
+
+ local_bh_disable();
+ skb = napi_get_frags(napi);
+ WARN_ON_ONCE(skb && skb->head_frag);
+ napi_free_frags(napi);
+ local_bh_enable();
+}
+
void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
@@ -6378,6 +6395,7 @@ void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi,
set_bit(NAPI_STATE_NPSVC, &napi->state);
list_add_rcu(&napi->dev_list, &dev->napi_list);
napi_hash_add(napi);
+ napi_get_frags_check(napi);
/* Create kthread for this napi if dev->threaded is set.
* Clear dev->threaded if kthread creation failed so that
* threaded mode will not be enabled in napi_enable().
--
2.36.1.255.ge46751e96f-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 net-next 0/8] net: few debug refinements
2022-06-08 16:04 [PATCH v2 net-next 0/8] net: few debug refinements Eric Dumazet
` (7 preceding siblings ...)
2022-06-08 16:04 ` [PATCH v2 net-next 8/8] net: add napi_get_frags_check() helper Eric Dumazet
@ 2022-06-10 5:40 ` patchwork-bot+netdevbpf
8 siblings, 0 replies; 10+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-06-10 5:40 UTC (permalink / raw)
To: Eric Dumazet; +Cc: davem, kuba, pabeni, netdev, edumazet
Hello:
This series was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:
On Wed, 8 Jun 2022 09:04:30 -0700 you wrote:
> From: Eric Dumazet <edumazet@google.com>
>
> Adopt DEBUG_NET_WARN_ON_ONCE() or WARN_ON_ONCE()
> in some places where it makes sense.
>
> Add checks in napi_consume_skb() and __napi_alloc_skb()
>
> [...]
Here is the summary with links:
- [v2,net-next,1/8] net: use DEBUG_NET_WARN_ON_ONCE() in __release_sock()
https://git.kernel.org/netdev/net-next/c/63fbdd3c77ec
- [v2,net-next,2/8] net: use DEBUG_NET_WARN_ON_ONCE() in dev_loopback_xmit()
https://git.kernel.org/netdev/net-next/c/76458faeb285
- [v2,net-next,3/8] net: use WARN_ON_ONCE() in inet_sock_destruct()
https://git.kernel.org/netdev/net-next/c/3e7f2b8d3088
- [v2,net-next,4/8] net: use WARN_ON_ONCE() in sk_stream_kill_queues()
https://git.kernel.org/netdev/net-next/c/c59f02f84867
- [v2,net-next,5/8] af_unix: use DEBUG_NET_WARN_ON_ONCE()
https://git.kernel.org/netdev/net-next/c/dd29c67dbbbf
- [v2,net-next,6/8] net: use DEBUG_NET_WARN_ON_ONCE() in skb_release_head_state()
https://git.kernel.org/netdev/net-next/c/7890e2f09d43
- [v2,net-next,7/8] net: add debug checks in napi_consume_skb and __napi_alloc_skb()
https://git.kernel.org/netdev/net-next/c/ee2640df2393
- [v2,net-next,8/8] net: add napi_get_frags_check() helper
https://git.kernel.org/netdev/net-next/c/fd9ea57f4e95
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-06-10 5:40 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-08 16:04 [PATCH v2 net-next 0/8] net: few debug refinements Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 1/8] net: use DEBUG_NET_WARN_ON_ONCE() in __release_sock() Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 2/8] net: use DEBUG_NET_WARN_ON_ONCE() in dev_loopback_xmit() Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 3/8] net: use WARN_ON_ONCE() in inet_sock_destruct() Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 4/8] net: use WARN_ON_ONCE() in sk_stream_kill_queues() Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 5/8] af_unix: use DEBUG_NET_WARN_ON_ONCE() Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 6/8] net: use DEBUG_NET_WARN_ON_ONCE() in skb_release_head_state() Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 7/8] net: add debug checks in napi_consume_skb and __napi_alloc_skb() Eric Dumazet
2022-06-08 16:04 ` [PATCH v2 net-next 8/8] net: add napi_get_frags_check() helper Eric Dumazet
2022-06-10 5:40 ` [PATCH v2 net-next 0/8] net: few debug refinements patchwork-bot+netdevbpf
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.