diff options
author | WANG Cong <xiyou.wangcong@gmail.com> | 2015-10-06 20:23:47 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-10-08 07:59:04 -0400 |
commit | d40496a56430eac0d330378816954619899fe303 (patch) | |
tree | 51672731493579de68284e7af4cf2bf758cd20a7 /net/sched | |
parent | c72eda0608a30ca6aa8722d4afdbd2557b3c9345 (diff) |
act_mirred: clear sender cpu before sending to tx
Similar to commit c29390c6dfee ("xps: must clear sender_cpu before forwarding")
the skb->sender_cpu needs to be cleared when moving from Rx
Tx, otherwise kernel could crash.
Fixes: 2bd82484bb4c ("xps: fix xps for stacked devices")
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Cong Wang <cwang@twopensource.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
-rw-r--r-- | net/sched/act_mirred.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c index 2efaf4ee6040..32fcdecdb9e2 100644 --- a/net/sched/act_mirred.c +++ b/net/sched/act_mirred.c | |||
@@ -179,6 +179,7 @@ static int tcf_mirred(struct sk_buff *skb, const struct tc_action *a, | |||
179 | 179 | ||
180 | skb2->skb_iif = skb->dev->ifindex; | 180 | skb2->skb_iif = skb->dev->ifindex; |
181 | skb2->dev = dev; | 181 | skb2->dev = dev; |
182 | skb_sender_cpu_clear(skb2); | ||
182 | err = dev_queue_xmit(skb2); | 183 | err = dev_queue_xmit(skb2); |
183 | 184 | ||
184 | if (err) { | 185 | if (err) { |