Alan Jowett

Results 73 issues of Alan Jowett

uBPF should support support the new atomic instructions eBPF ABI was extended to add support for atomic operations: https://lwn.net/Articles/842354/ This is important as it allow eBPF programs to update maps...

This pull request primarily involves changes to the `CMakeLists.txt` file and the addition of a new source file `src/store_map_value_in_map.c`. The changes in `CMakeLists.txt` include the addition of a new custom...

Test to check behavior of dependent reads. 1) Check that packet size is > 4 bytes. 2) If true, set flag. 3) If flag is set, access packet. ``` alanjo@alanjo-dev2:~/ebpf-verifier$...

Failures in large eBPF programs with complex control flow can be hard to analyze. Of particular concern is that an assertion failure can result in invariants being removed from the...

Resolves: #632 *Why* In a recent investigation, there was a single failed assertion, which expanded into over 500 failed assertions further down the graph. Unfortunately, the failure occurred approximately 60%...

Add CI/CD option to build ebpf-verifier with [AddresSanitizer](https://clang.llvm.org/docs/AddressSanitizer.html) and [SanitizerCoverage](https://clang.llvm.org/docs/SanitizerCoverage.html). Currently blocked on: ``` /home/runner/work/ebpf-verifier/ebpf-verifier/src/crab/array_domain.cpp:68:10: runtime error: shift exponent 64 is too large for 64-bit type 'uint64_t' (aka 'unsigned long')...

Resolves: #620 This pull request introduces changes in the `src/assertions.cpp`, `src/crab/ebpf_domain.cpp`, `test-data/call.yaml`, and `test-data/callx.yaml` files. The changes mainly focus on modifying the handling of memory types in the codebase and...

https://github.com/vbpf/ebpf-verifier/blob/4944945f8ba9071ef59240aabc37f0edbeae82c1/src/asm_ostream.cpp#L164 The access could be stack or packet (or shared in the future).

CMAKE_C_FLAGS_FUZZERDEBUG and CMAKE_CXX_FLAGS_FUZZERDEBUG are missing some of the flags required to correctly fuzz the verifier.

LLVM suggests the following work around when variables exceed the stack size: ``` error: :0:0: in function bpf_openat_parser i32 (%struct.bpf_raw_tracepoint_args*): Looks like the BPF stack limit of 512 bytes is...