Commit Graph

2142 Commits (67d1efee0a636d9537e8f694a7c1ab9010502189)
 

Author SHA1 Message Date
Quentin VIGNAUD 67d1efee0a Disabling Github API 2 months ago
Quentin VIGNAUD e993609125 Avoiding js 2 months ago
Quentin VIGNAUD 06367700ea Trying stuff on Github 2 months ago
Quentin VIGNAUD 88355dae5f Fixing llvm 3 months ago
Quentin VIGNAUD 57dac00c00 Trying things 3 months ago
Quentin VIGNAUD a8a23bb902 Fixing command 3 months ago
Quentin VIGNAUD 2a4824acc2 Trying stuff 3 months ago
Quentin VIGNAUD 7d97a35b1a Debug 3 months ago
Quentin VIGNAUD 57901f8571 Trying with cross 3 months ago
Quentin VIGNAUD c7b28a9cce Chaging image 3 months ago
Quentin VIGNAUD c24725f536 Fixes 3 months ago
Quentin VIGNAUD 8a231441d5 Trying fix 3 months ago
Quentin VIGNAUD 16184a14b8 Fix curl 3 months ago
Quentin VIGNAUD 1973becce7 Fix token 3 months ago
Quentin VIGNAUD efa13eb84a Add pseudo-token 3 months ago
Quentin VIGNAUD b6edcc63db Fix tag 3 months ago
Quentin VIGNAUD 0f19b18c1e Trying direct run 3 months ago
Quentin VIGNAUD d2bdeddeb9 Try fix according to gha file location rules 3 months ago
Quentin VIGNAUD 1622618184 Fix syntax 3 months ago
Quentin VIGNAUD 80dde0f774 Setup workspaces 3 months ago
Quentin VIGNAUD 584584f557 Adding checkout 3 months ago
Quentin VIGNAUD 86818ce0d7 Trying fix 3 months ago
Quentin VIGNAUD 9bf64dfbe1 COmment unused code 3 months ago
Quentin VIGNAUD 09ba8a2185 Trying first Mélodium CI impl 3 months ago
Tamir Duberstein d1fdbb9930
Update to macOS 15 (#1351) 3 months ago
Thomas Eizinger e2a68ee384 aya-log: add `#[must_use]` attribute to `EbpfLogger` 3 months ago
Tamir Duberstein 30182463bd
aya-obj: explicitly enable hashbrown features 3 months ago
tamird 32071bdca7 public-api: regenerate 3 months 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>
3 months ago
Michal R e0ceb6214b aya-obj: Remove `Safety: union` comments
They serve no purpose, there are no unions no unsafe operations around.
3 months ago
Tamir Duberstein 658ae0fbb9 aya-obj: simplify using CStr::from_bytes_until_nul 3 months ago
Michal R d5e4e9270a aya-ebpf: Remove irrelevant `FIXME` comment
eBPF verifier in recent kernels should be smart enough to track map
map types and catch invalid pointer casts. Rust type system makes sure
that the `get` method can return only the same type the map was created
with. Therefore, safe usage of Aya map types shouldn't cause element
type mismatches.

Manual alignment checks (`pointer::is_aligned` or manual pointer
arithmetic operations) cause the following verifier error:

```
bitwise operator &= on pointer prohibited
```

And it extremely unlikely `bpf_map_lookup_elem` ever returns a
misaligned pointer.
3 months ago
Michal R 3569c9afc3 aya-ebpf: Take `c_void` instead of `bpf_map_def` in map helpers
`bpf_map_def` is a legacy map definition. To be able to introduce BTF
map definitions, make the `lookup` and `remove` helpers work with
`c_void` and let the callers cast the map types to it.
3 months ago
Adam Schreck 263e864cd9 aya: add Map::from_map_data() for pinned map access
Enables creation of Map enum variants directly from MapData instances,
allowing user-space handles to pinned BPF maps without requiring the
original BPF object.

Supports multiple BPF map types.

Motivation:
- Simplifies accessing pinned maps from user space applications.
- Avoids full BPF reloads and potential deadlocks.
- Matches existing ergonomic APIs like LruHashMap::try_from.
- Keeps user code safe and idiomatic.

Closes https://github.com/aya-rs/aya/issues/1305.

Includes test coverage to validate the new API.
3 months ago
Tamir Duberstein 214fe3c367
aya-log-common: seal Argument 3 months ago
Tamir Duberstein 353b83383d
aya-log-ebpf: zero copy! 3 months ago
Tamir Duberstein 3f60168d4b
ring_buf: add RingBufBytes for raw byte slices 3 months ago
Tamir Duberstein 8e2632921f
aya-log: add DST test 3 months ago
Tamir Duberstein f537dc6684
ring_buf: destructure, avoid `as` casts 3 months ago
Tamir Duberstein aa47acc507
aya-log-ebpf: allow macros in expr position
This is load-bearing in aya-template.
4 months ago
Tamir Duberstein 222b2cb88f
.github: avoid spurious CI failures in forks
This spams my email every day.
4 months ago
Xiaobo Liu 53ec616411 ebpf: add peak() method to Queue and Stack
Add integration tests covering push,pop,peek for both types.

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
4 months ago
Addison Crump f6606473af
aya-log: properly hint log level to verifier
The log level implementation in b36cbc3eb8
was incomplete as the verifier could reject programs which exceeded
their instruction limits within logging statements. This commit
addresses this issue by making the log level static variable immutable
(s.t. the compiler puts it in a read-only section) and adds an
additional test which the verifier will reject as an infinite loop iff
it is unable to detect that the static variable would otherwise allow
the logging.
4 months ago
Tamir Duberstein b36cbc3eb8
implement load-time log level mask 4 months ago
dependabot[bot] a0b63b8811
build(deps): bump the cargo-crates group with 2 updates (#1333) 4 months ago
tamird 23cbab571c aya-obj, aya-ebpf-bindings: regenerate
libbpf commit: 20ea95b4505c477af3b6ff6ce9d19cee868ddc5d
4 months ago
dependabot[bot] 9261554e3c build(deps): bump the cargo-crates group with 2 updates
Updates the requirements on [dialoguer](https://github.com/console-rs/dialoguer) and [network-types](https://github.com/vadorovsky/network-types) to permit the latest version.

Updates `dialoguer` to 0.11.0
- [Changelog](https://github.com/console-rs/dialoguer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/console-rs/dialoguer/compare/v0.11.0...v0.11.0)

Updates `network-types` to 0.0.8
- [Release notes](https://github.com/vadorovsky/network-types/releases)
- [Changelog](https://github.com/vadorovsky/network-types/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vadorovsky/network-types/compare/v0.0.8...v0.0.8)

---
updated-dependencies:
- dependency-name: dialoguer
  dependency-version: 0.11.0
  dependency-type: direct:production
  dependency-group: cargo-crates
- dependency-name: network-types
  dependency-version: 0.0.8
  dependency-type: direct:production
  dependency-group: cargo-crates
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Xiaobo Liu 4fe920f761 xtask: add the target method to Architecture
Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
4 months ago
dependabot[bot] 2869cb884c 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.21.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.21.0...0.21.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Tamir Duberstein a01b1d8b76
.github: build bpf-linker with llvm-21 4 months ago