Commit Graph

1087 Commits (081120328677b07bb13b83eb7aa57b8317605b64)
 

Author SHA1 Message Date
Alessandro Decina 1066c6c2e5
Merge pull request from marysaka/fix/ubuntu-debian-kernel-version-code
aya: Correctly set the kernel code version for Ubuntu and Debian kernel
Mary 3aeeb8167b aya: Correctly set the kernel code version for Debian kernel
Fix BPF syscall failure related to the kernel code version.
Mary f1d891836e aya: Correctly set the kernel code version for Ubuntu kernel
Fix BPF syscall failure related to the kernel code version.
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>
Quentin JEROME 419448ed1a changed memset back not to return anything
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
Quentin JEROME a51c9bc532 fixed indent
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
Quentin JEROME 5b4fc9ea93 removed useless line break and comments
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
Quentin JEROME 74bc754862 add debug messages
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
Alessandro Decina b5c2928b0e
Merge pull request from marysaka/feature/no-kern-read-sanitizer
aya: Add sanitize code for kernels without bpf_probe_read_kernel
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.
Quentin JEROME b0f999419e make memset return u8
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
Quentin JEROME 4e41da6a86 Fixed BTF linkage of memset and memcpy to static
Signed-off-by: Quentin JEROME <qjerome@users.noreply.github.com>
Alessandro Decina edd9928314
Merge pull request from marysaka/fix/bpf_create_map_panic
aya: Do not use unwrap with btf_fd in bpf_create_map
Alessandro Decina 858f77bf2c
Merge pull request from marysaka/fix/datasec-struct-conversion
aya-obj: fix DATASEC to STRUCT conversion
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.
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)
qjerome 4801058f22
Merge branch 'aya-rs:main' into main
Alessandro Decina 542ada3fe7
Merge pull request from alessandrod/reloc-fixes
Add tests for relocations + fixes
Alessandro Decina 3a8380df26 integration-test: expand full path for IntegrationTest
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.
Alessandro Decina b2b9bd2edf integration tests: add relocation tests
Alessandro Decina b25a089819 aya-obj: change two drain() calls to into_iter()
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.
Alessandro Decina 5c4f1d69a6 aya-obj: rework `maps` section parsing
Avoid allocations and add comments explaining how things work.
Alessandro Decina bc8f4ef1c8 integration-tests: rename relocations to btf_relocations
In preparation of adding actual ELF relocation tests
Alessandro Decina 23ce42da68
Merge pull request from vadorovsky/integration-release
integration-tests: Build eBPF programs always with release profile
Michal Rostecki ed9c2a1780 integration-tests: Build eBPF programs always with release profile
Also, add the `codegen-unit` option to the profile.
vadorovsky fcc8a0d50d
Merge pull request from aya-rs/dependabot/cargo/num_enum-0.6
build(deps): update num_enum requirement from 0.5 to 0.6
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>
Alessandro Decina 04f4841ede
Merge pull request from Tuetuopay/tests-fedora-38
tests: use fedora 38 beta with testing repo
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/.
epompeii 85714d5cf3 review
epompeii 6dfb9d82af macro
epompeii 17f497ce42 program_section
epompeii 6a25d4ddec obj
Alessandro Decina b13070a342
Merge pull request from drewvis/main
Add check for empty tracefs mounts
Alessandro Decina bcb2972a96 aya: make it possible to use set_global() with slices of Pod(s)
drewvis 8f64cf8cd5 Added code check comment
drewvis 3a2c0cd1dd Add check for empty tracefs mounts
Alessandro Decina 8ef00c4c63 Revert "aya: make it possible to use set_global() with slices of Pod(s)"
This reverts commit b614ffd603.
Alessandro Decina dfbe1207c1 aya-obj: fix compilation with nightly
Alessandro Decina b614ffd603 aya: make it possible to use set_global() with slices of Pod(s)
qjerome 07db8ee972
Merge branch 'aya-rs:main' into main
Alessandro Decina 6404108aa9
Merge pull request from 0xrawsec/fix-issue-552
fix issue 
Quentin JEROME d031ce78bf fix issue
qjerome df5c7e642e
Merge branch 'aya-rs:main' into main
Alessandro Decina d6319f95c9
Merge pull request from kriomant/feature-xdp-attach-by-index
aya: Allow to attach XDP probe by interface index
Mikhail Trishchenkov ce60854934 Don't leak libc types
Mikhail Trishchenkov 896e3ab313 Fix formatting
Mikhail Trishchenkov 676b5cdc0d Rename method and fix comment