Commit Graph

8 Commits (1674a48f0df7eac100e93d1dd966ce3bfbfdf828)

Author SHA1 Message Date
Michal Rostecki 66403414c6 feat(aya-ebpf): BTF maps
Before this change, Aya supported only legacy BPF map definitions, which
are instances of the `bpf_map_def` struct and end up in the `maps` ELF
section. This change introduces BTF maps, with custom structs indicating
the metadata of the map, which end up in the `.maps` section.

Legacy maps are not supported by libbpf anymore and not even by the
kernel for newer types of maps like inode/task storage.

Add support of BTF maps in aya-ebpf under the `btf-maps` feature flag.

Usage of this feature requires emitting debug info for the eBPF crate
and passing the `--btf` flag to bpf-linker.
1 week ago
Tamir Duberstein 583709f6a0 appease `clippy::uninlined-format-args` 1 month ago
Tamir Duberstein 77b1c6194c Add support for Flow Dissector programs
Closes #216.

Co-authored-by: Zenna Allwein <zrallwein@gmail.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
3 months ago
Tamir Duberstein f0a9f19ddc Bump edition to 2024
Change FromRawTracepointArgs::arg to return T rather than *const T which
seems to have been returning a dangling pointer.

Arguably this is not strictly necessary; edition 2024 seems to be
focused on increased strictness around unsafe code which doesn't unlock
new functionality for our users. That said, this work revealed an
apparent bug (see above) that we wouldn't otherwise catch due to
allow-by-default lints.
3 months ago
Tamir Duberstein 4101a5a55d Use #[expect(...)] rather than #[allow(...)]
This is stricter, and revealed a few unused allowances.
3 months ago
Tamir Duberstein 5a43bedc01 Replace proc-macro-error with proc-macro2-diagnostics
proc-macro-error is unmaintained.
6 months ago
tyrone-wu b84ede10b9 aya-ebpf/macros: separate probe to probe ctx & retprobe to retprobe ctx
Added logic in expand function in both kprobe.rs and uprobe.rs for valid
macros. Now, kprobe & uprobe proc macros only accept ProbeContext, and
kretprobe & uretprobe only accept RetProbeContext.

Ref: #700
1 year ago
Dave Tucker ea8073793e chore(aya-ebpf-macros): Rename bpf -> ebpf
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
1 year ago