Message ID | 1595525508-1675-1-git-send-email-subashab@codeaurora.org |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] dev: Defer free of skbs in flush_backlog | expand |
From: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org> Date: Thu, 23 Jul 2020 11:31:48 -0600 > IRQs are disabled when freeing skbs in input queue. > Use the IRQ safe variant to free skbs here. > > Fixes: 145dd5f9c88f ("net: flush the softnet backlog in process context") > Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org> Applied and queued up for -stable, thank you.
diff --git a/net/core/dev.c b/net/core/dev.c index 90b59fc..7a774eb 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5601,7 +5601,7 @@ static void flush_backlog(struct work_struct *work) skb_queue_walk_safe(&sd->input_pkt_queue, skb, tmp) { if (skb->dev->reg_state == NETREG_UNREGISTERING) { __skb_unlink(skb, &sd->input_pkt_queue); - kfree_skb(skb); + dev_kfree_skb_irq(skb); input_queue_head_incr(sd); } }
IRQs are disabled when freeing skbs in input queue. Use the IRQ safe variant to free skbs here. Fixes: 145dd5f9c88f ("net: flush the softnet backlog in process context") Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org> --- net/core/dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)