diff options
author | Michael Holzheu <holzheu@linux.vnet.ibm.com> | 2015-01-15 04:20:28 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2015-01-15 05:10:29 -0500 |
commit | db9aa8f432b83b270686e68172c6d2895babdc26 (patch) | |
tree | 2afd2855d8c5c05ae6d44160f85261a22cfaf74e /arch/s390/net | |
parent | 5a80244246d503df688341a10e1d244d15bb8ce5 (diff) |
s390/bpf: Fix skb_copy_bits() parameter passing
The skb_copy_bits() function has the following signature:
int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len)
Currently in bpf_jit.S the "to" and "len" parameters have been
exchanged. So fix this and call the function with the correct
parameters.
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/net')
-rw-r--r-- | arch/s390/net/bpf_jit.S | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/arch/s390/net/bpf_jit.S b/arch/s390/net/bpf_jit.S index 7e45d13816c1..d34b70767d5a 100644 --- a/arch/s390/net/bpf_jit.S +++ b/arch/s390/net/bpf_jit.S | |||
@@ -22,8 +22,8 @@ | |||
22 | * skb_copy_bits takes 4 parameters: | 22 | * skb_copy_bits takes 4 parameters: |
23 | * %r2 = skb pointer | 23 | * %r2 = skb pointer |
24 | * %r3 = offset into skb data | 24 | * %r3 = offset into skb data |
25 | * %r4 = length to copy | 25 | * %r4 = pointer to temp buffer |
26 | * %r5 = pointer to temp buffer | 26 | * %r5 = length to copy |
27 | */ | 27 | */ |
28 | #define SKBDATA %r8 | 28 | #define SKBDATA %r8 |
29 | 29 | ||
@@ -44,8 +44,8 @@ ENTRY(sk_load_word) | |||
44 | 44 | ||
45 | sk_load_word_slow: | 45 | sk_load_word_slow: |
46 | lgr %r9,%r2 # save %r2 | 46 | lgr %r9,%r2 # save %r2 |
47 | lhi %r4,4 # 4 bytes | 47 | la %r4,160(%r15) # pointer to temp buffer |
48 | la %r5,160(%r15) # pointer to temp buffer | 48 | lhi %r5,4 # 4 bytes |
49 | brasl %r14,skb_copy_bits # get data from skb | 49 | brasl %r14,skb_copy_bits # get data from skb |
50 | l %r5,160(%r15) # load result from temp buffer | 50 | l %r5,160(%r15) # load result from temp buffer |
51 | ltgr %r2,%r2 # set cc to (%r2 != 0) | 51 | ltgr %r2,%r2 # set cc to (%r2 != 0) |
@@ -69,8 +69,8 @@ ENTRY(sk_load_half) | |||
69 | 69 | ||
70 | sk_load_half_slow: | 70 | sk_load_half_slow: |
71 | lgr %r9,%r2 # save %r2 | 71 | lgr %r9,%r2 # save %r2 |
72 | lhi %r4,2 # 2 bytes | 72 | la %r4,162(%r15) # pointer to temp buffer |
73 | la %r5,162(%r15) # pointer to temp buffer | 73 | lhi %r5,2 # 2 bytes |
74 | brasl %r14,skb_copy_bits # get data from skb | 74 | brasl %r14,skb_copy_bits # get data from skb |
75 | xc 160(2,%r15),160(%r15) | 75 | xc 160(2,%r15),160(%r15) |
76 | l %r5,160(%r15) # load result from temp buffer | 76 | l %r5,160(%r15) # load result from temp buffer |
@@ -95,8 +95,8 @@ ENTRY(sk_load_byte) | |||
95 | 95 | ||
96 | sk_load_byte_slow: | 96 | sk_load_byte_slow: |
97 | lgr %r9,%r2 # save %r2 | 97 | lgr %r9,%r2 # save %r2 |
98 | lhi %r4,1 # 1 bytes | 98 | la %r4,163(%r15) # pointer to temp buffer |
99 | la %r5,163(%r15) # pointer to temp buffer | 99 | lhi %r5,1 # 1 bytes |
100 | brasl %r14,skb_copy_bits # get data from skb | 100 | brasl %r14,skb_copy_bits # get data from skb |
101 | xc 160(3,%r15),160(%r15) | 101 | xc 160(3,%r15),160(%r15) |
102 | l %r5,160(%r15) # load result from temp buffer | 102 | l %r5,160(%r15) # load result from temp buffer |
@@ -118,8 +118,8 @@ ENTRY(sk_load_byte_msh) | |||
118 | 118 | ||
119 | sk_load_byte_msh_slow: | 119 | sk_load_byte_msh_slow: |
120 | lgr %r9,%r2 # save %r2 | 120 | lgr %r9,%r2 # save %r2 |
121 | lhi %r4,2 # 2 bytes | 121 | la %r4,162(%r15) # pointer to temp buffer |
122 | la %r5,162(%r15) # pointer to temp buffer | 122 | lhi %r5,2 # 2 bytes |
123 | brasl %r14,skb_copy_bits # get data from skb | 123 | brasl %r14,skb_copy_bits # get data from skb |
124 | xc 160(3,%r15),160(%r15) | 124 | xc 160(3,%r15),160(%r15) |
125 | l %r12,160(%r15) # load result from temp buffer | 125 | l %r12,160(%r15) # load result from temp buffer |