test: bpf: extend "load 64-bit immediate" testcase
authorXi Wang <xi.wang@gmail.com>
Sat, 9 May 2015 08:14:30 +0000 (04:14 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 11 May 2015 15:02:27 +0000 (11:02 -0400)
Extend the testcase to catch a signedness bug in the arm64 JIT:

test_bpf: #58 load 64-bit immediate jited:1 ret -1 != 1 FAIL (1 times)

This is useful to ensure other JITs won't have a similar bug.

Link: https://lkml.org/lkml/2015/5/8/458
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
lib/test_bpf.c

index f2c23ffaa6d74f50757d6666d2cab9342cc2ec7a..3c41049d72d838331a30542042fa929e815b9a6b 100644 (file)
@@ -1755,7 +1755,8 @@ static struct bpf_test tests[] = {
                        BPF_EXIT_INSN(),
                        BPF_JMP_IMM(BPF_JEQ, R3, 0x1234, 1),
                        BPF_EXIT_INSN(),
-                       BPF_ALU64_IMM(BPF_MOV, R0, 1),
+                       BPF_LD_IMM64(R0, 0x1ffffffffLL),
+                       BPF_ALU64_IMM(BPF_RSH, R0, 32), /* R0 = 1 */
                        BPF_EXIT_INSN(),
                },
                INTERNAL,