Kenjiro Nakayama
8c8d236f42
xtask: codegen: generate bindings for user_regs_struct
...
This patch adds `user_regs_struct`.
riscv provides struct user_regs_struct instead of struct pt_regs to userspace.
After bindings generates the code, adding the riscv support in `bpf/aya-bpf/src/args.rs`
then aya-bpf can be built for riscv.
2 years ago
dependabot[bot]
45072c0789
build(deps): update syn requirement from 1.0 to 2.0
...
Updates the requirements on [syn](https://github.com/dtolnay/syn ) to permit the latest version.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.0...2.0.3 )
---
updated-dependencies:
- dependency-name: syn
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
vadorovsky
7cd1c642e3
Merge pull request #597 from nak3/test-clippy
...
aya: drop unnecessary `mut`
2 years ago
Kenjiro Nakayama
e67025b66f
Drop unnecessary mut
2 years ago
Alessandro Decina
0a1f1a2898
Merge pull request #594 from aya-rs/dependabot/github_actions/mikepenz/release-changelog-builder-action-3
...
build(deps): bump mikepenz/release-changelog-builder-action from 2 to 3
2 years ago
Alessandro Decina
38b403f1be
Merge pull request #595 from aya-rs/dependabot/github_actions/actions/checkout-3
...
build(deps): bump actions/checkout from 2 to 3
2 years ago
Alessandro Decina
67f480eb8e
Merge pull request #592 from probulate/update-bitflags
...
build(deps): update bitflags requirement from 1.2.1 to 2.2.1
2 years ago
dependabot[bot]
31301e4f51
build(deps): bump actions/checkout from 2 to 3
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot]
53fb408b02
build(deps): bump mikepenz/release-changelog-builder-action from 2 to 3
...
Bumps [mikepenz/release-changelog-builder-action](https://github.com/mikepenz/release-changelog-builder-action ) from 2 to 3.
- [Release notes](https://github.com/mikepenz/release-changelog-builder-action/releases )
- [Commits](https://github.com/mikepenz/release-changelog-builder-action/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: mikepenz/release-changelog-builder-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Alessandro Decina
e840c22602
Merge pull request #593 from probulate/actions-bot
...
Add github-actions dependabot config
2 years ago
Tamir Duberstein
ae8a95b0ee
build(deps): update bitflags requirement from 1.2.1 to 2.2.1
...
Updates the requirements on [bitflags](https://github.com/bitflags/bitflags ) to permit the latest version.
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/1.2.1...2.2.1 )
2 years ago
Tamir Duberstein
8e41cf6f5a
Add github-actions dependabot config
2 years ago
Alessandro Decina
2222b681be
Merge pull request #574 from vadorovsky/integration-aya-log
...
integration-test: Add tests for aya-log
2 years ago
Michal Rostecki
5fa17a192b
integration-test: Add tests for aya-log
2 years ago
Michal Rostecki
d31a1805da
integration-test: Add `tokio_integration_test` macro
...
This new macro runs a test in a Tokio runtime and it can be used for
asynchronous tests (defined as `async fn`).
2 years ago
Alessandro Decina
3d3ce8bfa2
Merge pull request #591 from vadorovsky/aya-log-impl-pod
...
aya-log: Move the `Pod` implementations from aya-log-common to aya-log
2 years ago
Michal Rostecki
5603d7248a
aya-log: Move the `Pod` implementations from aya-log-common to aya-log
...
Keeping the `Pod` implementations and optional dependency on aya in
aya-log-common breaks the clippy checks (which are made on the entire
workspace).
The reason is that when different crates inside the workspace have the
same dependency with different features, that dependency is built only
once with the sum of features needed by all crates. It's **not** being
built separately with different feature sets.
That's why, before this change, aya-log-common was built once for the
entire workspace with `userspace` feature enabled. That made importing
aya-log-ebpf inside integration-ebpf impossible. The aya-log-common
build, with `userspace` feature enabled, was pulling std as a
dependency. Therefore, importing aya-log-ebpf inside integration-ebpf
resulted in including std and errors like:
```
error[E0152]: found duplicate lang item `panic_impl`
--> test/integration-ebpf/src/log.rs:23:1
|
23 | fn panic(_info: &core::panic::PanicInfo) -> ! {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the lang item is first defined in crate `std` (which `aya` depends on)
```
This change fixes the problem by removing the `userspace` feature from
aya-log-common and moving the `Pod` implementations to aya-log.
2 years ago
vadorovsky
deb054afa4
Merge pull request #577 from aya-rs/dependabot/cargo/object-0.31
...
build(deps): update object requirement from 0.30 to 0.31
2 years ago
Alessandro Decina
120b59dd2e
Merge pull request #545 from epompeii/lsm_sleepable
...
Add `BPF_F_SLEEPABLE` flag support to LSM
2 years ago
dependabot[bot]
4c78f7f1a0
build(deps): update object requirement from 0.30 to 0.31
...
Updates the requirements on [object](https://github.com/gimli-rs/object ) to permit the latest version.
- [Release notes](https://github.com/gimli-rs/object/releases )
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/object/compare/0.30.0...0.31.0 )
---
updated-dependencies:
- dependency-name: object
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Alessandro Decina
45efa6384f
Merge pull request #586 from probulate/no-std-inversion
...
aya: flip feature "no_std" to feature "std"
2 years ago
Tamir Duberstein
33a0a2b604
aya: flip feature "no_std" to feature "std"
...
This fixes `cargo build --all-features` by sidestepping the feature
unification problem described in The Cargo Book[0].
Add `cargo hack --feature-powerset` to CI to enforce that this doesn't
regress (and that all combinations of features work).
Since error_in_core is nightly-only, use core-error and a fake std
module to allow aya-obj to build without std on stable.
[0] https://doc.rust-lang.org/cargo/reference/features.html#feature-unification
2 years ago
Everett Pompeii
1f2006bfde
Merge branch 'aya-rs:main' into lsm_sleepable
2 years ago
vadorovsky
fce1d763f4
Merge pull request #590 from Kab1r/main
...
aya-bpf: Add helper `change_proto`
2 years ago
Kabir Kwatra
92f9c43230
feat(bpf+sk_skb): wrap `change_proto` helper
2 years ago
Dave Tucker
ed14751c79
Merge pull request #525 from dave-tucker/borrow
...
aya: MapData should be Borrow, not AsRef
2 years ago
Alessandro Decina
b2d5059ac2
Merge pull request #583 from 0xrawsec/fix-builtin-linkage
...
Fix builtin linkage
2 years ago
Quentin JEROME
1464bdc1d4
- comment changed to be more precise
...
- adapted test to be more readable
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
2 years ago
Alessandro Decina
1066c6c2e5
Merge pull request #579 from marysaka/fix/ubuntu-debian-kernel-version-code
...
aya: Correctly set the kernel code version for Ubuntu and Debian kernel
2 years ago
Mary
3aeeb8167b
aya: Correctly set the kernel code version for Debian kernel
...
Fix BPF syscall failure related to the kernel code version.
2 years ago
Mary
f1d891836e
aya: Correctly set the kernel code version for Ubuntu kernel
...
Fix BPF syscall failure related to the kernel code version.
2 years ago
Quentin JEROME
72c1572178
added memmove, memcmp to the list of function changed to BTF_FUNC_STATIC
...
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
2 years ago
Quentin JEROME
419448ed1a
changed memset back not to return anything
...
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
2 years ago
Quentin JEROME
a51c9bc532
fixed indent
...
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
2 years ago
Quentin JEROME
5b4fc9ea93
removed useless line break and comments
...
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
2 years ago
Quentin JEROME
74bc754862
add debug messages
...
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
2 years ago
Alessandro Decina
b5c2928b0e
Merge pull request #582 from marysaka/feature/no-kern-read-sanitizer
...
aya: Add sanitize code for kernels without bpf_probe_read_kernel
2 years ago
Mary
1132b6e01b
aya: Add sanitize code for kernels without bpf_probe_read_kernel
...
Required for kernel before 5.5.
Also move Features to aya-obj.
2 years ago
Quentin JEROME
b0f999419e
make memset return u8
...
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
2 years ago
Quentin JEROME
4e41da6a86
Fixed BTF linkage of memset and memcpy to static
...
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
2 years ago
Alessandro Decina
edd9928314
Merge pull request #580 from marysaka/fix/bpf_create_map_panic
...
aya: Do not use unwrap with btf_fd in bpf_create_map
2 years ago
Alessandro Decina
858f77bf2c
Merge pull request #581 from marysaka/fix/datasec-struct-conversion
...
aya-obj: fix DATASEC to STRUCT conversion
2 years ago
Mary
4e33fa011e
aya-obj: fix DATASEC to STRUCT conversion
...
This fix the following issues:
- Previously the DATASEC name wasn't sanitized resulting on "Invalid
name" returned by old kernels.
- The newly created BTF struct had a size of 0 making old kernels refuse
it.
This was tested on Debian 10 with kernel 4.19.0-21.
2 years ago
Mary
7c25fe90a9
aya: Do not use unwrap with btf_fd in bpf_create_map
...
Fixes a crash when trying to create a map of type BPF_MAP_TYPE_PERCPU_ARRAY when btf_fd is None.
Tested on Ubuntu 18.04 (4.15.0-202-generic)
2 years ago
Alessandro Decina
542ada3fe7
Merge pull request #572 from alessandrod/reloc-fixes
...
Add tests for relocations + fixes
2 years ago
Alessandro Decina
3a8380df26
integration-test: expand full path for IntegrationTest
2 years ago
Alessandro Decina
93ac3e94bc
aya: support relocations across multiple text sections + fixes
...
Fix R_BPF_64_64 text relocations in sections other than .text (for
instance .text.unlikely). Also fix misc bugs triggered by integration
tests.
2 years ago
Alessandro Decina
b2b9bd2edf
integration tests: add relocation tests
2 years ago
Alessandro Decina
b25a089819
aya-obj: change two drain() calls to into_iter()
2 years ago
Alessandro Decina
401ea5e848
aya, aya-obj: refactor map relocations
...
Clearly split the code between `.maps`, `maps` and data maps (bss, data,
rodata). Sprinkle comments.
Remove MapKind which was effectively only needed since we used to have
one variant - BpfSectionKind::Data - to represent all data maps. Instead
add explicit BpfSectionKind::{Data, Rodata, Bss} variants and match on
those when we initialize maps.
2 years ago