Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1577709

[PATCH RT 2/5] net: free the sbs in skbufhead

From Steven Rostedt <rostedt@goodmis.org>
Newsgroups linux.kernel
Subject [PATCH RT 2/5] net: free the sbs in skbufhead
Date 2017-02-09 16:40 +0100
Message-ID <t8YZd-7Tl-51@gated-at.bofh.it> (permalink)
References <t8YZb-7Tl-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


4.1.38-rt45-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

In "skbufhead-raw-lock.patch" we moved the memory to a list and the hunk that
cleared the list got misplaced.

Cc: stable@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 net/core/dev.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/net/core/dev.c b/net/core/dev.c
index f1c1a198d4b7..6b2436f0fc66 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4764,13 +4764,21 @@ static void net_rx_action(struct softirq_action *h)
 	struct softnet_data *sd = this_cpu_ptr(&softnet_data);
 	unsigned long time_limit = jiffies + 2;
 	int budget = netdev_budget;
+	struct sk_buff_head tofree_q;
+	struct sk_buff *skb;
 	LIST_HEAD(list);
 	LIST_HEAD(repoll);
 
+	__skb_queue_head_init(&tofree_q);
+
 	local_irq_disable();
+	skb_queue_splice_init(&sd->tofree_queue, &tofree_q);
 	list_splice_init(&sd->poll_list, &list);
 	local_irq_enable();
 
+	while ((skb = __skb_dequeue(&tofree_q)))
+		kfree_skb(skb);
+
 	for (;;) {
 		struct napi_struct *n;
 
-- 
2.10.2

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH RT 0/5] Linux 4.1.38-rt45-rc1 Steven Rostedt <rostedt@goodmis.org> - 2017-02-09 16:40 +0100
  [PATCH RT 2/5] net: free the sbs in skbufhead Steven Rostedt <rostedt@goodmis.org> - 2017-02-09 16:40 +0100
  [PATCH RT 1/5] arm: kprobe: replace patch_lock to raw lock Steven Rostedt <rostedt@goodmis.org> - 2017-02-09 16:40 +0100

csiph-web