Repository navigation
Tags
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