diff options
author | Daniel Borkmann <daniel@iogearbox.net> | 2015-10-07 10:16:09 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-10-08 14:03:08 +0200 |
commit | cfc81b50387086c3a1ca6d2be3c46561edfbc3b5 (patch) | |
tree | 4990bcfc30708d064da3d3898aef295ce3041f62 /net/core | |
parent | net: hns: fix 32-bit build warning (diff) | |
download | linux-cfc81b50387086c3a1ca6d2be3c46561edfbc3b5.tar.xz linux-cfc81b50387086c3a1ca6d2be3c46561edfbc3b5.zip |
bpf, skb_do_redirect: clear sender_cpu before xmit
Similar to commit c29390c6dfee ("xps: must clear sender_cpu before
forwarding"), we also need to clear the skb->sender_cpu when moving
from RX to TX via skb_do_redirect() due to the shared location of
napi_id (used on RX) and sender_cpu (used on TX).
Fixes: 27b29f63058d ("bpf: add bpf_redirect() helper")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/filter.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index da3e5357f138..8f4603c712cd 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -1462,6 +1462,7 @@ int skb_do_redirect(struct sk_buff *skb) return dev_forward_skb(dev, skb); skb->dev = dev; + skb_sender_cpu_clear(skb); return dev_queue_xmit(skb); } |