Alessandro Decina
26d188c659
Merge pull request #125 from dave-tucker/btf
...
obj: Improve section detection
3 years ago
Alessandro Decina
32dc8a0d97
Merge pull request #132 from eero-thia/thia/safe_map
...
aya-bpf: remove unnecessary unsafe markers on map functions.
3 years ago
Alessandro Decina
441a660b3e
Merge pull request #131 from eero-thia/thia/safe_iter
...
aya: Remove unnecessary unsafe markers on map iteration.
3 years ago
Thia Wyrod
b655cf973f
aya-bpf: remove unnecessary unsafe markers on map functions.
...
Map lookup and deletion can yield stale keys and values by virtue of
sharing a data structure with userspace programs and other BPF programs
which can modify it. However, all accesses remain perfectly safe and will
not cause memory corruption or data races.
3 years ago
Thia Wyrod
18970369e2
aya: Remove unnecessary unsafe markers on map iteration.
...
Map iteration can yield stale keys and values by virtue of sharing a
data structure with BPF programs which can modify it. However, all
accesses remain perfectly safe and will not cause memory corruption or
data races.
3 years ago
Alessandro Decina
07a6016ebb
Merge pull request #120 from eero-thia/thia/dedup
...
aya: eliminate name duplication in maps and programs.
3 years ago
Thia Wyrod
f56dd0a70b
aya: eliminate name duplication in maps and programs.
...
Map and ProgramData objects had unnecessarily cloned strings for their
names, despite them being just as easily available to external users via
bpf.maps() and bpf.programs().
3 years ago
Alessandro Decina
8043451973
bpf: re-export Lru hash maps from aya_bpf::maps
3 years ago
Alessandro Decina
a340c2a9fa
Merge pull request #130 from wg/main
...
aya: use correct program name when relocating
3 years ago
Will
bb8a813eef
aya: use correct program name when relocating
3 years ago
Dave Tucker
e4d9774bf7
obj: Improve section detection
...
This commit improves section detection.
Previously, a section named "xdp_metadata" would be interpretted as a
program section, which is incorrect. This commit first attempts to
identify a BPF section by name, then by section.kind() ==
SectionKind::Text (executable code). The computed section kind is
stored in the Section so variants can be easily matched on later.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Alessandro Decina
c0f695c4b6
bpf: Add LruHashMap and LruPerCpuHashMap
3 years ago
Alessandro Decina
a03426f194
Merge pull request #115 from eero-thia/thia/impl_trait
...
aya: remove unnecessary usage of &dyn trait in favor of impl trait.
3 years ago
Alessandro Decina
61299e128e
Merge pull request #119 from eero-thia/thia/xdp_metadata
...
aya-bpf: expose xdp_md of XdpContext and add metadata functions.
3 years ago
Thia Wyrod
d280b856bd
aya-bpf: expose xdp_md of XdpContext and add metadata functions.
3 years ago
Thia Wyrod
daa7ea6d0d
aya: remove unnecessary usage of &dyn trait in favor of impl trait.
...
This should improve performance in most situations by eliminating
unnecessary fat pointer indirection.
3 years ago
Alessandro Decina
98b36b23bc
Merge pull request #116 from eero-thia/thia/close
...
aya: close file descriptors on Map drop.
3 years ago
Alessandro Decina
2955ca1d1f
Merge pull request #121 from eero-thia/thia/programs_mut
...
aya: programs_mut iterator to complement programs.
3 years ago
Thia Wyrod
c7f8db9a0b
aya: programs_mut iterator to complement programs.
3 years ago
Alessandro Decina
a6bf554a74
Merge pull request #122 from eero-thia/thia/include_bytes_aligned
...
aya: expand include_bytes_aligned to accept expressions.
3 years ago
Thia Wyrod
1584bc47bd
aya: close file descriptors on Map drop.
3 years ago
Thia Wyrod
f8f17a09fb
aya: expand include_bytes_aligned to accept expressions.
...
This allows one to this macro with literal expressions involving macros
such as concat! and env!.
3 years ago
Alessandro Decina
df393690d3
Merge pull request #114 from deverton/wrap-bpf_get_current_uid_gid
...
Add wrapper and docs for for bpf_get_current_uid_gid
3 years ago
Dan Everton
fa23052e34
Add wrapper and docs for for bpf_get_current_uid_gid
3 years ago
Alessandro Decina
6db30fad9c
Merge pull request #108 from deverton/kprobe-debugfs
...
Support k/uprobes on older kernels.
3 years ago
Dan Everton
0e84610976
Refactoring after feedback.
3 years ago
Alessandro Decina
d983836959
Merge pull request #112 from dave-tucker/fix_cgroup_skb_attach
...
bpf: Fix cgroup_skb macro
3 years ago
Dave Tucker
eadba79deb
bpf: Add tests for cgroup_skb macro
...
This checks that the expand function produces the expected link_section
given certain input
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker
fa037a88e2
bpf: Fix cgroup_skb macro
...
This commit ensures that if no attach type is provided, that we use the
cgroup/skb section. If an attach type is provided we use the
cgroup_skb/$attach_type section.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Rust Plumber
761cb79fe3
aya: fix test warnings ( #111 )
3 years ago
Dan Everton
606c3267c4
Support pid filtering in debugfs
3 years ago
Dan Everton
1dc75542b4
Handle probe entry offsets
3 years ago
Dan Everton
4e6aeb2e69
Merge branch 'main' into kprobe-debugfs
3 years ago
Alessandro Decina
b82d7f0515
Merge pull request #109 from deverton/dynamic-kver
...
Use current kernel version as default if not specified
3 years ago
Dan Everton
3dff6e8555
Updates based on feedback
3 years ago
Dan Everton
4277205e9d
Use current kernel version as default if not specified
...
When a BPF program doesn't specify the target kernel version, the
most compatible option is to set the program kernel version to match
the currently running kernel.
3 years ago
Dan Everton
42c9737d47
Functional detach of debugfs probes.
3 years ago
Dan Everton
a4faabcf93
Fix event_alias comparison when looking in event list
3 years ago
Dan Everton
84fa2197ec
Don't duplicate perf_attach code and formatting
3 years ago
Dan Everton
d0321bd1ee
Attempt auto detach of probe for debugfs
3 years ago
Dan Everton
34aa790a91
Support k/uprobes on older kernels.
...
Prior to kernel 4.17 probes were attached via debugfs and this patch
attempts to make that work.
Tested on kernel 4.14.
3 years ago
Alessandro Decina
5b0e518641
Merge pull request #107 from deverton/skip-map-name
...
fix: make maps compatible with kernel <= 4.14
3 years ago
Dan Everton
07e3824aa4
chore: formatting
3 years ago
Dan Everton
49f6a8e819
Stub `kernel_version` for tests
3 years ago
Dan Everton
d966881e46
Fix lint issues
3 years ago
Dan Everton
fc0861105a
fix: make maps compatible with kernel <= 4.14
...
In kernel 4.15 and additional parameter was added to allow maps to have
names but using this breaks on older kernels.
This change makes it so the name is only added on kernels 4.15 and
newer.
3 years ago
Alessandro Decina
182182d840
(cargo-release) version 0.10.6
3 years ago
Alessandro Decina
170e98e71e
bpf: fix doc tests
3 years ago
Alessandro Decina
31f96450d4
bpf: add bpf_probe_read_buf, bpf_probe_read_user_buf and bpf_probe_read_kernel_buf
3 years ago
Alessandro Decina
f1fe817022
Merge pull request #106 from dave-tucker/skbcontext
...
bpf: Rename SkSkbContext to SkBuffContext
3 years ago