Re: [PATCH v2 net] net: skbuff: skb_vlan_push: Fix wrong unwinding of skb->data after __vlan_insert_tag call

2016-09-28 Thread Shmulik Ladkani
On Wed, 28 Sep 2016 16:43:38 +0200 Daniel Borkmann wrote: > Couldn't we end up with 1) for the act_vlan case when we'd have the > offset-adjusted skb_vlan_push() fix from here, where we'd then redirect > to ingress where skb_vlan_pop() would be called? If I'm not missing >

Re: [PATCH v2 net] net: skbuff: skb_vlan_push: Fix wrong unwinding of skb->data after __vlan_insert_tag call

2016-09-28 Thread Shmulik Ladkani
On Wed, 28 Sep 2016 16:43:38 +0200 Daniel Borkmann wrote: > > (1) suppose upon entry we have > > > > DA,SA,0x8100,TCI,0x0800, > > ^^ > > mac_hdr data > > > > initial offset is 18, and after current unwinding code we'll get > > You

Re: [PATCH v2 net] net: skbuff: skb_vlan_push: Fix wrong unwinding of skb->data after __vlan_insert_tag call

2016-09-28 Thread Daniel Borkmann
On 09/28/2016 01:56 PM, Shmulik Ladkani wrote: On Wed, 28 Sep 2016 12:30:56 +0200, dan...@iogearbox.net wrote: @@ -4608,6 +4608,8 @@ int skb_vlan_push(struct sk_buff *skb, __be16 vlan_proto, u16 vlan_tci) skb->protocol = skb->vlan_proto; skb->mac_len +=

Re: [PATCH v2 net] net: skbuff: skb_vlan_push: Fix wrong unwinding of skb->data after __vlan_insert_tag call

2016-09-28 Thread Shmulik Ladkani
Hi, On Wed, 28 Sep 2016 12:30:56 +0200, dan...@iogearbox.net wrote: > > @@ -4608,6 +4608,8 @@ int skb_vlan_push(struct sk_buff *skb, __be16 > > vlan_proto, u16 vlan_tci) > > > > skb->protocol = skb->vlan_proto; > > skb->mac_len += VLAN_HLEN; > > + if (offset) >

Re: [PATCH v2 net] net: skbuff: skb_vlan_push: Fix wrong unwinding of skb->data after __vlan_insert_tag call

2016-09-28 Thread Daniel Borkmann
On 09/28/2016 11:08 AM, Shmulik Ladkani wrote: From: Shmulik Ladkani In case 'skb_vlan_push' is called on an skb with a hw-accel vlan tag present, the existing hw-accel tag is inserted into the payload, and the new given tag is placed as new hw-accel tag. In order