s390/bpf: fix recache skb->data/hlen for skb_vlan_push/pop
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>
Wed, 11 May 2016 19:13:13 +0000 (21:13 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 19 May 2016 07:14:27 +0000 (09:14 +0200)
commit6edf0aa4f8bbdfbb4d6d786892fa02728d05dc36
treedfedd7338bb67042614d3e676f498405c1a52f98
parent0fa963553a5c28d8f8aabd8878326d3f782045fc
s390/bpf: fix recache skb->data/hlen for skb_vlan_push/pop

In case of usage of skb_vlan_push/pop, in the prologue we store
the SKB pointer on the stack and restore it after BPF_JMP_CALL
to skb_vlan_push/pop.

Unfortunately currently there are two bugs in the code:

 1) The wrong stack slot (offset 170 instead of 176) is used
 2) The wrong register (W1 instead of B1) is saved

So fix this and use correct stack slot and register.

Fixes: 9db7f2b81880 ("s390/bpf: recache skb->data/hlen for skb_vlan_push/pop")
Cc: stable@vger.kernel.org # 4.3+
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/net/bpf_jit.h
arch/s390/net/bpf_jit_comp.c