diff mbox series

[net] dev: Defer free of skbs in flush_backlog

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

Commit Message

Subash Abhinov Kasiviswanathan July 23, 2020, 5:31 p.m. UTC
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(-)

Comments

David Miller July 25, 2020, 3 a.m. UTC | #1
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 mbox series

Patch

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);
 		}
 	}