act_mirred: clear sender cpu before sending to tx
authorWANG Cong <xiyou.wangcong@gmail.com>
Wed, 7 Oct 2015 00:23:47 +0000 (17:23 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Oct 2015 11:59:04 +0000 (04:59 -0700)
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>
net/sched/act_mirred.c

index 2efaf4ee60408ce663c53378eea51ae7206d72ef..32fcdecdb9e2074bad6f3e3002738e9c289317c3 100644 (file)
@@ -179,6 +179,7 @@ static int tcf_mirred(struct sk_buff *skb, const struct tc_action *a,
 
        skb2->skb_iif = skb->dev->ifindex;
        skb2->dev = dev;
+       skb_sender_cpu_clear(skb2);
        err = dev_queue_xmit(skb2);
 
        if (err) {