summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>2015-01-15 10:21:58 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2015-01-15 11:10:37 +0100
commit1a92b2deaf5c1b71f995ef571076200a391aac66 (patch)
treeef373976b1252dba6f1f6cdd99cd9bbeecbe9370 /arch
parents390/bpf: Fix offset parameter for skb_copy_bits() (diff)
downloadlinux-1a92b2deaf5c1b71f995ef571076200a391aac66.tar.xz
linux-1a92b2deaf5c1b71f995ef571076200a391aac66.zip
s390/bpf: Fix sk_load_byte_msh()
In sk_load_byte_msh() sk_load_byte_slow() is called instead of sk_load_byte_msh_slow(). Fix this and call the correct function. Besides of this load only one byte instead of two and fix the comment. Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/net/bpf_jit.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/s390/net/bpf_jit.S b/arch/s390/net/bpf_jit.S
index ede6108c0002..e2f2111bd107 100644
--- a/arch/s390/net/bpf_jit.S
+++ b/arch/s390/net/bpf_jit.S
@@ -106,11 +106,11 @@ sk_load_byte_slow:
lgr %r2,%r9 # restore %r2
br %r8
- /* A = (*(u8 *)(skb->data+K) & 0xf) << 2 */
+ /* X = (*(u8 *)(skb->data+K) & 0xf) << 2 */
ENTRY(sk_load_byte_msh)
llgfr %r1,%r3 # extend offset
clr %r11,%r3 # hlen < offset ?
- jle sk_load_byte_slow
+ jle sk_load_byte_msh_slow
lhi %r12,0
ic %r12,0(%r1,%r10) # get byte from skb
nill %r12,0x0f
@@ -120,8 +120,8 @@ ENTRY(sk_load_byte_msh)
sk_load_byte_msh_slow:
lgr %r9,%r2 # save %r2
- la %r4,162(%r15) # pointer to temp buffer
- lhi %r5,2 # 2 bytes
+ la %r4,163(%r15) # pointer to temp buffer
+ lhi %r5,1 # 1 bytes
brasl %r14,skb_copy_bits # get data from skb
xc 160(3,%r15),160(%r15)
l %r12,160(%r15) # load result from temp buffer