diff mbox

[net] bpf: clear sender_cpu before xmit

Message ID 1444189567-3031-1-git-send-email-ast@plumgrid.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Alexei Starovoitov Oct. 7, 2015, 3:46 a.m. UTC
Similar to commit c29390c6dfee ("xps: must clear sender_cpu before forwarding")
the skb->sender_cpu needs to be cleared before xmit.

Fixes: 3896d655f4d4 ("bpf: introduce bpf_clone_redirect() helper")
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
---
That is similar to pending patches for xps:
http://patchwork.ozlabs.org/patch/526952/
and for act_mirred:
http://patchwork.ozlabs.org/patch/527066/

though Fixes tag is different, since bpf_clone_redirect() came in
after commit 2bd82484bb4c ("xps: fix xps for stacked devices")
---
 net/core/filter.c |    1 +
 1 file changed, 1 insertion(+)

Comments

Daniel Borkmann Oct. 7, 2015, 8:17 a.m. UTC | #1
On 10/07/2015 05:46 AM, Alexei Starovoitov wrote:
> Similar to commit c29390c6dfee ("xps: must clear sender_cpu before forwarding")
> the skb->sender_cpu needs to be cleared before xmit.
>
> Fixes: 3896d655f4d4 ("bpf: introduce bpf_clone_redirect() helper")
> Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>

Acked-by: Daniel Borkmann <daniel@iogearbox.net>

There's one more, but for net-next, see my other email.

Cheers,
Daniel
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alexei Starovoitov Oct. 7, 2015, 3:44 p.m. UTC | #2
On 10/7/15 1:17 AM, Daniel Borkmann wrote:
> On 10/07/2015 05:46 AM, Alexei Starovoitov wrote:
>> Similar to commit c29390c6dfee ("xps: must clear sender_cpu before
>> forwarding")
>> the skb->sender_cpu needs to be cleared before xmit.
>>
>> Fixes: 3896d655f4d4 ("bpf: introduce bpf_clone_redirect() helper")
>> Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
>
> Acked-by: Daniel Borkmann <daniel@iogearbox.net>
>
> There's one more, but for net-next, see my other email.

Of course. I left it for the morning, but you beat me to it.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Daniel Borkmann Oct. 7, 2015, 4:09 p.m. UTC | #3
On 10/07/2015 05:44 PM, Alexei Starovoitov wrote:
> On 10/7/15 1:17 AM, Daniel Borkmann wrote:
>> On 10/07/2015 05:46 AM, Alexei Starovoitov wrote:
>>> Similar to commit c29390c6dfee ("xps: must clear sender_cpu before
>>> forwarding")
>>> the skb->sender_cpu needs to be cleared before xmit.
>>>
>>> Fixes: 3896d655f4d4 ("bpf: introduce bpf_clone_redirect() helper")
>>> Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
>>
>> Acked-by: Daniel Borkmann <daniel@iogearbox.net>
>>
>> There's one more, but for net-next, see my other email.
>
> Of course. I left it for the morning, but you beat me to it.

Ahh okay, fair enough. :)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Oct. 8, 2015, 12:06 p.m. UTC | #4
From: Alexei Starovoitov <ast@plumgrid.com>
Date: Tue,  6 Oct 2015 20:46:07 -0700

> Similar to commit c29390c6dfee ("xps: must clear sender_cpu before forwarding")
> the skb->sender_cpu needs to be cleared before xmit.
> 
> Fixes: 3896d655f4d4 ("bpf: introduce bpf_clone_redirect() helper")
> Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>

Applied and queued up for -stable.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/core/filter.c b/net/core/filter.c
index 87b78ef0c3d4..bb18c3680001 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -1415,6 +1415,7 @@  static u64 bpf_clone_redirect(u64 r1, u64 ifindex, u64 flags, u64 r4, u64 r5)
 		return dev_forward_skb(dev, skb2);
 
 	skb2->dev = dev;
+	skb_sender_cpu_clear(skb2);
 	return dev_queue_xmit(skb2);
 }