net: add debug checks in napi_consume_skb and __napi_alloc_skb()
Commit 6454eca81e
("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>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
7890e2f09d
commit
ee2640df23
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue