aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing
diff options
context:
space:
mode:
authorWang YanQing <udknight@gmail.com>2019-04-28 10:33:02 +0800
committerDaniel Borkmann <daniel@iogearbox.net>2019-05-01 23:40:47 +0200
commitb9aa0b35d878dff9ed19f94101fe353a4de00cc4 (patch)
treea0e484e108a504acf6b26789acdd9d8cce5df756 /tools/testing
parentbpf, x32: Fix bug for BPF_JMP | {BPF_JSGT, BPF_JSLE, BPF_JSLT, BPF_JSGE} (diff)
downloadlinux-dev-b9aa0b35d878dff9ed19f94101fe353a4de00cc4.tar.xz
linux-dev-b9aa0b35d878dff9ed19f94101fe353a4de00cc4.zip
bpf, x32: Fix bug for BPF_ALU64 | BPF_NEG
The current implementation has two errors: 1: The second xor instruction will clear carry flag which is necessary for following sbb instruction. 2: The select coding for sbb instruction is wrong, the coding is "sbb dreg_hi,ecx", but what we need is "sbb ecx,dreg_hi". This patch rewrites the implementation and fixes the errors. This patch fixes below errors reported by bpf/test_verifier in x32 platform when the jit is enabled: " 0: (b4) w1 = 4 1: (b4) w2 = 4 2: (1f) r2 -= r1 3: (4f) r2 |= r1 4: (87) r2 = -r2 5: (c7) r2 s>>= 63 6: (5f) r1 &= r2 7: (bf) r0 = r1 8: (95) exit processed 9 insns (limit 131072), stack depth 0 0: (b4) w1 = 4 1: (b4) w2 = 4 2: (1f) r2 -= r1 3: (4f) r2 |= r1 4: (87) r2 = -r2 5: (c7) r2 s>>= 63 6: (5f) r1 &= r2 7: (bf) r0 = r1 8: (95) exit processed 9 insns (limit 131072), stack depth 0 ...... Summary: 1189 PASSED, 125 SKIPPED, 15 FAILED " Signed-off-by: Wang YanQing <udknight@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/testing')
0 files changed, 0 insertions, 0 deletions