Created attachment 285829 [details] test_bpf failures: kernel 4.19.81/x86_32 (OpenWrt) Summary: ======== Running the 4.19.81 LTS kernel on QEMU/x86_32, the standard test_bpf.ko testsuite generates multiple errors with the eBPF JIT enabled: ... test_bpf: #32 JSET jited:1 40 ret 0 != 20 46 FAIL test_bpf: #321 LD_IND word positive offset jited:1 ret 0 != -291897430 FAIL test_bpf: #322 LD_IND word negative offset jited:1 ret 0 != -1437222042 FAIL test_bpf: #323 LD_IND word unaligned (addr & 3 == 2) jited:1 ret 0 != -1150890889 FAIL test_bpf: #326 LD_IND word positive offset, all ff jited:1 ret 0 != -1 FAIL ... test_bpf: Summary: 373 PASSED, 5 FAILED, [344/366 JIT'ed] However, with eBPF JIT disabled (net.core.bpf_jit_enable=0) all tests pass. Steps to Reproduce: =================== # sysctl net.core.bpf_jit_enable=1 # modprobe test_bpf <Kernel log with failures and test summary> Affected Systems Tested: ======================== OpenWrt master on QEMU/pc-q35(x86_32) [LTS kernel 4.19.81] Kernel Logs: ============ Boot log with test results is attached.
I have tested and verified that the report bug has been fixed by commit 711aef1bbf88 ("bpf, x32: Fix bug for BPF_JMP | {BPF_JSGT, BPF_JSLE, BPF_JSLT, BPF_JSGE}") But the fix hasn't been backported to stable trees.
Thank you very much for identifying this! I saw your post on bpf mailing list, and question to Daniel Borkmann about backporting to stable trees. I also saw on git that you and others have made a few other fixes to the x32 eBPF JIT code which apply to 4.19 LTS as well. I'm hoping Daniel can comment on the whole backport question. Is there anything I must do to request backports?
Nothing, but if you could show the really usecases, there are really users of x32 eBPF JIT code, I will backport them happily:)
Hi Tony Ambardar! The patches for this bug has been merged into upstream of 4.19.86, so could you close this bug report? Thanks!
Thanks and sorry for the delay. Stay healthy!