Tags: holyspectral/ebpf
Tags
btf: move vmlinux search logic into findVMLinux() loadKernelSpec() gets short-circuited in the first statement on most kernels, resulting in the vmlinux search code being rarely exercised successfully in CI. Split the search logic out into its own function to make it testable in isolation. Although virtme VMs don't have images at any of these paths, running the test suite on a host with a full distro does result in a proper test execution. Signed-off-by: Timo Beckers <timo@isovalent.com>
map: include errnos with errors We replace some errnos from map syscalls with more descriptive sentinel errors. Include the original errno with the error so that both errors.Is(err, ErrKeyNotExist) errors.Is(err, unix.ENOENT) work. We'll use this for other errors in the future where we want to introduce our own errors without breaking callers that rely on the (coarser) errno semantics.
btf: avoid Type copy in FuncProto.walk FuncProto.walk currently takes a copy of FuncParam.Type since the for loop implicitly makes a copy of the FuncParam value: for _, m := range fp.Params { m is a copy of the original param, so &m.Type is the address of a temporary variable. Instead, iterate params using the index and take the correct address. Also extend the tests to cover this case.
PreviousNext