Commit Graph

2161 Commits (82aec2696394f953c886f146f02673753a94cb0d)
 

Author SHA1 Message Date
Tamir Duberstein 82aec26963
flow_dissector: add missing impl_try_into_fdlink 6 days ago
Tamir Duberstein 0cb52e850a
xtask: tolerate curl failure when possible
Codex sandbox forbids network access.
6 days ago
Tamir Duberstein 667790e103
xtask: avoid `git submodule update` when possible
`git submodule update` fails when running in a codex sandbox:

```
  error: could not lock config file /Users/tamird/src/aya/.git/modules/libbpf/config: Operation not permitted
```

so just avoid it when not necessary.
6 days ago
Tamir Duberstein 6fc06b9fcf
Remove unused error variant 6 days ago
Tamir Duberstein 4ce1e29804
clippy.sh: build for BPF after everything else
In cases where I run `./clippy.sh ... -p <crate>` I really want the
results for that crate to come quickly.
6 days ago
Tamir Duberstein 57a75dfd61
.vscode: always use linux in rust-analyzer 6 days ago
Christian A. Jacobsen a98b638fa9 feat(log): add support for logging raw pointer types
* Requires the usage of `:p` display hint.
* Will, like stdlib, log with `0x` prefix.
6 days ago
Tamir Duberstein 29dc775535
test-distro: appease unreachable code check
See https://github.com/rust-lang/rust/commit/ff6dc928c5e33ce8e65c6911a7.
1 week ago
Altug Bozkurt fc5387c806
lsm: cgroup attachment type support 2 weeks ago
Tamir Duberstein 66ed37c8a9
integration-test: add LSM 2 weeks ago
Tamir Duberstein 8e75214815
feature_probe: properly check for LSM support
Turns out this is not supported in aarch64 until 6.4.
2 weeks ago
Tamir Duberstein 9ba87c661b
xtask: copy kernel config into the initramfs image
When preparing the VM initramfs detect the `config-*` file that ships alongside
the vmlinuz/modules in each kernel archive and install it under `/boot` (both
as `/boot/config` and `/boot/config-<version>`). This makes the running
kernel’s configuration available inside the guest for the integration tests.
2 weeks ago
Tamir Duberstein 5f046899b5
xtask: teach integration-test vm to consume kernel debs directly
Bundle handling of Debian kernel archives into xtask so callers can pipe
the raw `.deb` paths straight into `cargo xtask integration-test vm …`.
The driver now extracts each archive into `<cache>/kernel-archives`,
locates the matching `vmlinuz-*`, `lib/modules/*`, and config files, and
feeds those into the initramfs build without requiring the user to
pre-run dpkg/tar. With this in place we drop
`.github/scripts/find_kernels.py`, simplify AGENTS.md/CI instructions to
use `find test/.tmp -name '*.deb'`, remove the gnu-tar requirement we no
longer need, and add `tar` as a workspace dependency for the extractor.
2 weeks ago
Tamir Duberstein fab4fc44b2
xtask: reduce `fs` imports 2 weeks ago
Tamir Duberstein d16711b2be
xtask: avoid variables named `cmd` and `child` 2 weeks ago
Tamir Duberstein ffa65efb36
integration-ebpf: avoid mentioning the size 2 weeks ago
Tamir Duberstein d82ed60795
.cargo/config: use musl-cross on x86_64 as well
This allows us to run virtualized integration tests on macOS hosts.

Bump Ubuntu to 24.04 because we seem to be getting miscompilation on
x86_64 otherwise (when using `x86_64-linux-musl-gcc`). Add `apt install
liblzma-dev` since it doesn't seem to be present in ubuntu-24.04.
2 weeks ago
Tamir Duberstein 71f6176e24
xtask: ensure we actually built depmod 2 weeks ago
Tamir Duberstein 82750ae3b1
.github: attempt to enable KVM 2 weeks ago
Tamir Duberstein 9bc185a61e
aya-tool: simplify and improve error handling 2 weeks ago
Michal R 98e8c78376 aya-ebpf: Make use of `Borrow` and `BorrowMut` in map methods
Let callers pass either owned objects or references. We do that already
in the user-space methods.
2 weeks ago
Tamir Duberstein de42b80c74
aya,ebpf: add BPF_MAP_TYPE_SK_STORAGE
This map type requires BTF, and we can finally do it!
2 weeks ago
Tamir Duberstein 6babf17969
maps: use shared helpers 2 weeks ago
Tamir Duberstein c9b5f119a3
feature_probe: clarify composite logic 2 weeks ago
Tamir Duberstein 75edc3d294
*: downcase log strings 2 weeks ago
Tamir Duberstein 742f700dcc
maps: add newline between doc and imports 2 weeks ago
Tamir Duberstein 0013ff4e9e
ebpf: use null pointers at runtime
The values here do not matter, this is just to get type information.
2 weeks ago
Tamir Duberstein 275c5b6bbc
ebpf: use `ptr::from_ref`
This is consistent with other such conversions.
2 weeks ago
Tamir Duberstein a2324e6e50
Add Brewfile 2 weeks ago
Tamir Duberstein b73b9092ee
Add AGENTS.md 3 weeks ago
Tamir Duberstein fe99fa1d2e
ebpf: run clippy with target=bpf
This build warnings from integration tests and makes `aya-ebpf`'s build
script stricter.
3 weeks ago
Tamir Duberstein 552b69367f
xtask: remove outdated snippet
We handed this to QEMU in e3bfeb9dd6.
3 weeks ago
Tamir Duberstein bb45904b08
xtask: patch gen_init_cpio.c
Recent changes[0][1] have broken compatibility with macOS; add a patch
to conditionally compile these snippets.

Patch and compile the source unconditionally; caching only the network
portion is good enough and less error prone.

[0] ae18b94099
[1] 97169cd6d9
3 weeks ago
dependabot[bot] 8e31f5fa43
Merge pull request #1355 from aya-rs/dependabot/cargo/cargo-crates-7838c61200 3 weeks ago
dependabot[bot] ace02870f2
build(deps): update cargo_metadata requirement in the cargo-crates group
Updates the requirements on [cargo_metadata](https://github.com/oli-obk/cargo_metadata) to permit the latest version.

Updates `cargo_metadata` to 0.22.0
- [Release notes](https://github.com/oli-obk/cargo_metadata/releases)
- [Changelog](https://github.com/oli-obk/cargo_metadata/blob/main/CHANGELOG.md)
- [Commits](https://github.com/oli-obk/cargo_metadata/compare/0.22.0...0.22.0)

---
updated-dependencies:
- dependency-name: cargo_metadata
  dependency-version: 0.22.0
  dependency-type: direct:production
  dependency-group: cargo-crates
...

Signed-off-by: dependabot[bot] <support@github.com>
3 weeks ago
Tamir Duberstein 5f5305c2a8
lint all crates; enable strict pointer lints 3 weeks ago
Tamir Duberstein ec3eacc1d8
Increase VM memory
Since 6.1.0-40 we're seeing `Initramfs unpacking failed: write error`.
3 weeks ago
Tamir Duberstein d1bb7bcc38
deny clippy::unnecessary_cast 3 weeks ago
Tamir Duberstein be4d74fd06
deny clippy::fn_to_numeric_cast{,_with_truncation} 3 weeks ago
Tamir Duberstein fa03dbdb46
deny clippy::char_lit_as_u8 3 weeks ago
Tamir Duberstein a7206b9098
deny clippy::cast_precision_loss 3 weeks ago
Tamir Duberstein 72104c4076
deny clippy::cast_lossless 3 weeks ago
Tamir Duberstein 82e72a14ad
Remove unused import
```
  error: unused import: `define_linear_ds_test`
    --> test/integration-ebpf/src/linear_data_structures.rs:59:5
     |
  59 | use define_linear_ds_test;
     |     ^^^^^^^^^^^^^^^^^^^^^
     |
     = note: `-D unused-imports` implied by `-D warnings`
     = help: to override `-D warnings` add `#[allow(unused_imports)]`

  error: could not compile `integration-ebpf` (bin "linear_data_structures") due to 1 previous error
```
3 weeks ago
Tamir Duberstein d1fdbb9930
Update to macOS 15 (#1351) 4 weeks ago
Thomas Eizinger e2a68ee384 aya-log: add `#[must_use]` attribute to `EbpfLogger` 4 weeks ago
Tamir Duberstein 30182463bd
aya-obj: explicitly enable hashbrown features 1 month ago
tamird 32071bdca7 public-api: regenerate 1 month ago
Michal R 0b2a544ddd aya-ebpf: Add BTF array definition
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 a BTF map definition for arrays, with custom
structs indicating the metadata of the map, which end up in the `.maps`
section.

Co-authored-by: Tamir Duberstein <tamird@gmail.com>
1 month ago
Michal R e0ceb6214b aya-obj: Remove `Safety: union` comments
They serve no purpose, there are no unions no unsafe operations around.
1 month ago
Tamir Duberstein 658ae0fbb9 aya-obj: simplify using CStr::from_bytes_until_nul 1 month ago