]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
s390/bpf: Fix sk_load_byte_msh()
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>
Thu, 15 Jan 2015 09:21:58 +0000 (10:21 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 15 Jan 2015 10:10:37 +0000 (11:10 +0100)
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>
arch/s390/net/bpf_jit.S

index ede6108c0002ba489bfe203c976457851331fc5f..e2f2111bd1073c2f5a2672b9eb96e3c6ff4b4bcc 100644 (file)
@@ -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