ebpf
ebpf copied to clipboard
ebpf-go is a pure-Go library to read, modify and load eBPF programs and attach them to various hooks in the Linux kernel.
See individual commits for context. At a high level: - add caching for __ksym reference resolving - stop caching all text symbols that have an associated kmod - for both...
This is a proof-of-concept. The code is not ready for merging but it shows it is possible to significantly reduce the memory consumption (by 27MB). --- In the new LoadSpecFromReader,...
### Describe the bug When I called collection.LoadAndAssign, I found that the error log of ebpf program loading failure was intercepted, resulting in very few logs available to me. Is...
### Suggestion Every time cilium/ebpf uses `mmap(MAP_ANONYMOUS)`, it should give a name to the memory region indicating its purpose (i.e. ring buffer for a specific ebpf map). ```c share =...
This blew up on my machine today: ``` --- FAIL: TestNetkitAnchor (0.00s) quicktest.go:12: error: got non-nil value got: e"netlink receive: file exists" stack: /home/timo/github/cilium/ebpf/link/netkit_test.go:95 qt.Assert(tb, qt.IsNil(err)) /home/timo/github/cilium/ebpf/link/netkit_test.go:32 linkA, ifIndex :=...
I was writing something to parse objects from a `/sys/fs/bpf` fs and was expecting to receive an error when using `ebpf.LoadPinnedMap` on a prog and `ebpf.LoadPinnedProg` on a map. Instead,...
https://github.com/cilium/ebpf/pull/1772 introduced lazy loading of strings from string tables. It helps a lot when querying types, but when parsing line infos, we end up querying multiple times the same offest...
The work to encode a platform into various constant types made it so that decoding a call to a builtin helper with a negative value fails with decoding instructions for...
Linux syscall program errors on non-nil ctxOut, uses ctxIn for both input and output [1]. We have separate Context and ContextOut fields in RunOptions. It should be possible to capture...
This fixes a long standing issue with our CO-RE implementation. Please see the commit message for details.