]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
s390/bpf: Zero extend parameters before calling C function
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>
Thu, 15 Jan 2015 09:23:46 +0000 (10:23 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 15 Jan 2015 10:10:41 +0000 (11:10 +0100)
The s390x ABI requires to zero extend parameters before functions
are called.

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 e2f2111bd1073c2f5a2672b9eb96e3c6ff4b4bcc..ba44c9f5534633a2da3133714f6b018ba6a69545 100644 (file)
@@ -46,7 +46,7 @@ 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
+       lghi    %r5,4                   # 4 bytes
        brasl   %r14,skb_copy_bits      # get data from skb
        l       %r5,160(%r15)           # load result from temp buffer
        ltgr    %r2,%r2                 # set cc to (%r2 != 0)
@@ -72,7 +72,7 @@ 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
+       lghi    %r5,2                   # 2 bytes
        brasl   %r14,skb_copy_bits      # get data from skb
        xc      160(2,%r15),160(%r15)
        l       %r5,160(%r15)           # load result from temp buffer
@@ -97,8 +97,9 @@ ENTRY(sk_load_byte)
 
 sk_load_byte_slow:
        lgr     %r9,%r2                 # save %r2
+       lgr     %r3,%r1                 # offset
        la      %r4,163(%r15)           # pointer to temp buffer
-       lhi     %r5,1                   # 1 bytes
+       lghi    %r5,1                   # 1 byte
        brasl   %r14,skb_copy_bits      # get data from skb
        xc      160(3,%r15),160(%r15)
        l       %r5,160(%r15)           # load result from temp buffer
@@ -120,8 +121,9 @@ ENTRY(sk_load_byte_msh)
 
 sk_load_byte_msh_slow:
        lgr     %r9,%r2                 # save %r2
+       lgr     %r3,%r1                 # offset
        la      %r4,163(%r15)           # pointer to temp buffer
-       lhi     %r5,1                   # 1 bytes
+       lghi    %r5,1                   # 1 byte
        brasl   %r14,skb_copy_bits      # get data from skb
        xc      160(3,%r15),160(%r15)
        l       %r12,160(%r15)          # load result from temp buffer