Re: sparc64 and ARM64 JIT bug (was Re: LLVM 4.0 code generation bug)

2017-05-02 Thread Daniel Borkmann
On 05/02/2017 05:02 AM, David Miller wrote: From: Alexei Starovoitov Date: Mon, 1 May 2017 19:39:33 -0700 On 5/1/17 7:31 PM, David Miller wrote: If the last BPF instruction before exit is a ldimm64, branches to the exit point at the wrong location. Here is what I get from test_pkt_access.c

sparc64 and ARM64 JIT bug (was Re: LLVM 4.0 code generation bug)

2017-05-01 Thread David Miller
From: Alexei Starovoitov Date: Mon, 1 May 2017 19:39:33 -0700 > On 5/1/17 7:31 PM, David Miller wrote: >> >> If the last BPF instruction before exit is a ldimm64, branches to the >> exit point at the wrong location. >> >> Here is what I get from test_pkt_access.c on sparc: >> >>

Re: LLVM 4.0 code generation bug

2017-05-01 Thread David Miller
From: Alexei Starovoitov Date: Mon, 1 May 2017 19:39:33 -0700 > On 5/1/17 7:31 PM, David Miller wrote: >> >> If the last BPF instruction before exit is a ldimm64, branches to the >> exit point at the wrong location. >> >> Here is what I get from test_pkt_access.c on sparc: >> >>

Re: LLVM 4.0 code generation bug

2017-05-01 Thread Alexei Starovoitov
On 5/1/17 7:31 PM, David Miller wrote: If the last BPF instruction before exit is a ldimm64, branches to the exit point at the wrong location. Here is what I get from test_pkt_access.c on sparc: : 0: b7 00 00 00 00 00 00 02 mov r0, 2 8: 61 21 00 50 00 00

LLVM 4.0 code generation bug

2017-05-01 Thread David Miller
If the last BPF instruction before exit is a ldimm64, branches to the exit point at the wrong location. Here is what I get from test_pkt_access.c on sparc: : 0: b7 00 00 00 00 00 00 02 mov r0, 2 8: 61 21 00 50 00 00 00 00 ldw r2, [r1+80] 10: