Browse Source

s390/bpf: Fix offset parameter for skb_copy_bits()

Currently the offset parameter for skb_copy_bits is changed in
sk_load_word() and sk_load_half(). Therefore it is not correct when
calling skb_copy_bits(). Fix this and use the original offset
for the function call.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Michael Holzheu 10 years ago
parent
commit
d86eb7448e
1 changed files with 2 additions and 0 deletions
  1. 2 0
      arch/s390/net/bpf_jit.S

+ 2 - 0
arch/s390/net/bpf_jit.S

@@ -44,6 +44,7 @@ ENTRY(sk_load_word)
 
 sk_load_word_slow:
 	lgr	%r9,%r2			# save %r2
+	lgr	%r3,%r1			# offset
 	la	%r4,160(%r15)		# pointer to temp buffer
 	lhi	%r5,4			# 4 bytes
 	brasl	%r14,skb_copy_bits	# get data from skb
@@ -69,6 +70,7 @@ ENTRY(sk_load_half)
 
 sk_load_half_slow:
 	lgr	%r9,%r2			# save %r2
+	lgr	%r3,%r1			# offset
 	la	%r4,162(%r15)		# pointer to temp buffer
 	lhi	%r5,2			# 2 bytes
 	brasl	%r14,skb_copy_bits	# get data from skb