Commit Graph

1338 Commits (ca3f70b16a705bf26d2ccc7ce754de403be36223)
 

Author SHA1 Message Date
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
Alessandro Decina 5c4f1d69a6 aya-obj: rework `maps` section parsing
Avoid allocations and add comments explaining how things work.
2 years ago
Alessandro Decina bc8f4ef1c8 integration-tests: rename relocations to btf_relocations
In preparation of adding actual ELF relocation tests
2 years ago
Alessandro Decina 23ce42da68
Merge pull request #573 from vadorovsky/integration-release
integration-tests: Build eBPF programs always with release profile
2 years ago
Michal Rostecki ed9c2a1780 integration-tests: Build eBPF programs always with release profile
Also, add the `codegen-unit` option to the profile.
2 years ago
vadorovsky fcc8a0d50d
Merge pull request #570 from aya-rs/dependabot/cargo/num_enum-0.6
build(deps): update num_enum requirement from 0.5 to 0.6
2 years ago
dependabot[bot] b10a31183b
build(deps): update num_enum requirement from 0.5 to 0.6
Updates the requirements on [num_enum](https://github.com/illicitonion/num_enum) to permit the latest version.
- [Release notes](https://github.com/illicitonion/num_enum/releases)
- [Commits](https://github.com/illicitonion/num_enum/compare/0.5.0...0.6.0)

---
updated-dependencies:
- dependency-name: num_enum
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Alessandro Decina 04f4841ede
Merge pull request #567 from Tuetuopay/tests-fedora-38
tests: use fedora 38 beta with testing repo
2 years ago
Tuetuopay 3655cd1e02 tests: use fedora 38 beta with testing repo
Now that bpf-linker uses llvm 16, the easiest way is to use Fedora 38
Beta with the testing repos as they have it, without resorting to
Rawhide.

See https://packages.fedoraproject.org/pkgs/llvm/llvm/.
2 years ago
epompeii 85714d5cf3 review 2 years ago
epompeii 6dfb9d82af macro 2 years ago
epompeii 17f497ce42 program_section 2 years ago
epompeii 6a25d4ddec obj 2 years ago
Alessandro Decina b13070a342
Merge pull request #557 from drewvis/main
Add check for empty tracefs mounts
2 years ago
Alessandro Decina bcb2972a96 aya: make it possible to use set_global() with slices of Pod(s) 2 years ago
drewvis 8f64cf8cd5 Added code check comment 2 years ago
drewvis 3a2c0cd1dd Add check for empty tracefs mounts 2 years ago
Alessandro Decina 8ef00c4c63 Revert "aya: make it possible to use set_global() with slices of Pod(s)"
This reverts commit b614ffd603.
2 years ago
Alessandro Decina dfbe1207c1 aya-obj: fix compilation with nightly 2 years ago