Alan Jowett

Results 79 comments of Alan Jowett

Here is a working ARM64 JIT in the C uBPF project. https://github.com/iovisor/ubpf/blob/main/vm/ubpf_jit_arm64.c @bxcrs I don't think it should be too hard to port this to rust. Ping me if you...

uBPF runs the tests under qemu to test the arm64 jit. GitHub workflow: https://github.com/iovisor/ubpf/blob/5170435374bf1acc4c3c6e3302802bade6e2fe46/.github/workflows/posix.yml#L188 And script to run it: https://github.com/iovisor/ubpf/blob/main/aarch64_test/run-jit.sh

In case it's not clear: bpf_conformance is a test suite that exercises all the possible BPF instructions. It uses a plugin model, where it passes bytecode + memory contents to...

@Alan-Jowett to provide PR to fix this. Sample ELF file with bad BTF section that causes the problem: [timeout-0a4aa25126bf1edb3809bd6abf86616d81e2b2dc.zip](https://github.com/vbpf/ebpf-verifier/files/8901257/timeout-0a4aa25126bf1edb3809bd6abf86616d81e2b2dc.zip)

I think the CFG isn't enough as we need to know when an branch is conditional based on an untrusted value and when a load is from memory shared with...

This is fixed by this commit: https://github.com/vbpf/ebpf-verifier/commit/25f3c24f6097bbde014a69ee69e51cbc5894cd50

@hadisinaee and @viniciusd I think this should be fixed now? We have a CI/CD that runs on macos-11 (switching to macos-latest). Please re-open if there is still an issue.

@pcy190 bounds checking is not implemented at all for JIT.

This is primarily needed when jitting code from untrusted sources. This and issue #73 are needed when loading code from untrusted users.

Note: uBPF doesn't have the same set of helper functions as the Linux kernel, so the verification by Prevail doesn't hold. Helper #1 in uBPF is: https://github.com/iovisor/ubpf/blob/2071abbed9b396949ceed66c5ebbbac10c5c8e7d/vm/test.c#L323 Whereas helper #1...