b21f2a1945 
								
							
								 
							
						 
						
							
							
								
								Mark aya-tool publish=false  
							
							... 
							
							
							
							This is for internal use, get it off the API treadmill. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								73751fb878 
								
							
								 
							
						 
						
							
							
								
								public-api: regenerate  
							
							... 
							
							
							
							See https://github.com/rayon-rs/either/pull/101 . 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								80920ddf3f 
								
							
								 
							
						 
						
							
							
								
								public-api: regenerate  
							
							... 
							
							
							
							This is roughly a revert of af1a9b39112a8341ef049c8697bed3350e76f2f1;
see https://github.com/rust-lang/rust/pull/123638 . 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								df9fe94216 
								
							
								 
							
						 
						
							
							
								
								xtask: Bless public-api changes  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								b06ff40278 
								
							
								 
							
						 
						
							
							
								
								xtask: Generate new bindings  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								af1a9b3911 
								
							
								 
							
						 
						
							
							
								
								public-api: regenerate  
							
							... 
							
							
							
							Auto trait bounds have changed in one of:
- https://github.com/rust-lang/rust/pull/123340 .
- https://github.com/rust-lang/rust/pull/123375 . 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								b23973dd9c 
								
							
								 
							
						 
						
							
							
								
								xtask: corrected bpf to ebpf for path to aya-ebpf-bindings in codegen  
							
							... 
							
							
							
							Currently, when running `cargo +nightly xtask codegen` locally and in
the codegen GHA workflow, an error occurs with only "Error: bindgen
failed" displayed.
This was due to a path using "bpf/..." instead of "ebpf/...". It is now
corrected to "ebpf", and bindgen fails should now display a more direct
message on why it failed.
Fixes : #914  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								0a32dacd2f 
								
							
								 
							
						 
						
							
							
								
								Appease clippy  
							
							... 
							
							
							
							```
  error: unnecessary structure name repetition
     --> aya/src/bpf.rs:198:57
      |
  198 |     pub fn btf(&mut self, btf: Option<&'a Btf>) -> &mut EbpfLoader<'a> {
      |                                                         ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
      |
      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self 
  note: the lint level is defined here
     --> aya/src/lib.rs:42:5
      |
  42  |     clippy::use_self,
      |     ^^^^^^^^^^^^^^^^
  error: unnecessary structure name repetition
     --> aya/src/bpf.rs:222:54
      |
  222 |     pub fn allow_unsupported_maps(&mut self) -> &mut EbpfLoader<'a> {
      |                                                      ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
      |
      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self 
  error: unnecessary structure name repetition
     --> aya/src/bpf.rs:243:69
      |
  243 |     pub fn map_pin_path<P: AsRef<Path>>(&mut self, path: P) -> &mut EbpfLoader<'a> {
      |                                                                     ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
      |
      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self 
  error: unnecessary structure name repetition
     --> aya/src/bpf.rs:292:15
      |
  292 |     ) -> &mut EbpfLoader<'a> {
      |               ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
      |
      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self 
  error: unnecessary structure name repetition
     --> aya/src/bpf.rs:313:73
      |
  313 |     pub fn set_max_entries(&mut self, name: &'a str, size: u32) -> &mut EbpfLoader<'a> {
      |                                                                         ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
      |
      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self 
  error: unnecessary structure name repetition
     --> aya/src/bpf.rs:335:56
      |
  335 |     pub fn extension(&mut self, name: &'a str) -> &mut EbpfLoader<'a> {
      |                                                        ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
      |
      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self 
  error: unnecessary structure name repetition
     --> aya/src/bpf.rs:353:75
      |
  353 |     pub fn verifier_log_level(&mut self, level: VerifierLogLevel) -> &mut EbpfLoader<'a> {
      |                                                                           ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
      |
      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self 
```
See https://github.com/rust-lang/rust-clippy/pull/12386 . 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								c302f8370d 
								
							
								 
							
						 
						
							
							
								
								public-api: regenerate  
							
							... 
							
							
							
							Nightly now exposes `core::marker::Freeze`.
https://github.com/rust-lang/rust/pull/121840  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								715e62dd38 
								
							
								 
							
						 
						
							
							
								
								chore(aya): Bless public API  
							
							... 
							
							
							
							Bless the BpfError type alias
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								d0c244356f 
								
							
								 
							
						 
						
							
							
								
								chore: Bless public API changes  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								41c61560ea 
								
							
								 
							
						 
						
							
							
								
								chore(aya-ebpf): Rename bpf -> ebpf  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								70ac91dc1e 
								
							
								 
							
						 
						
							
							
								
								chore(aya-ebpf-bindings): Rename bpf -> ebpf  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								21f570a19c 
								
							
								 
							
						 
						
							
							
								
								chore(aya-ebpf-cty): Rename bpf -> ebpf  
							
							... 
							
							
							
							Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								542306d295 
								
							
								 
							
						 
						
							
							
								
								Add `CgroupDevice::query`  
							
							... 
							
							
							
							This follows closely the existing `LircMode2::query`. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								13b1fc63ef 
								
							
								 
							
						 
						
							
							
								
								chore: Don't use path deps in workspace  
							
							... 
							
							
							
							This moves the path dependencies back into the per-crate Cargo.toml.
It is required such that the release tooling can correctly calculate
which version constraints require changing when we perform a release.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								b3e7ef741c 
								
							
								 
							
						 
						
							
							
								
								chore: Use the cargo workspace package table  
							
							... 
							
							
							
							This allows for inheritance of common fields from the workspace root.
The following fields have been made common:
- authors
- license
- repository
- homepage
- edition
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								0c58bb66b6 
								
							
								 
							
						 
						
							
							
								
								integration-test: Fix build.rs output  
							
							... 
							
							
							
							The cargo::warning seems to ignore output after a newline.
Iterate over the entire rendered message and print it line-by-line.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								f491f56204 
								
							
								 
							
						 
						
							
							
								
								aya: bless API  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								0f6a734392 
								
							
								 
							
						 
						
							
							
								
								aya: perf_event: add inherit argument to attach()  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								92b1947885 
								
							
								 
							
						 
						
							
							
								
								aya: add StackTraceMap::remove()  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								057f27dc20 
								
							
								 
							
						 
						
							
							
								
								public-api: regenerate  
							
							... 
							
							
							
							StructuralEq has been removed.
See 0df7810734 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								1edd42aa0a 
								
									
								
							
								 
							
						 
						
							
							
								
								public-api: regenerate  
							
							... 
							
							
							
							`Send + Sync` became `Sync + Send` for reasons I don't understand. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								e1aefa4e87 
								
							
								 
							
						 
						
							
							
								
								aya: bless API change  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								1e99ac9323 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #853  from tamird/public-api-mac  
							
							... 
							
							
							
							xtask: allow public-api regen on aarch64-apple-darwin 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								b3ec33e763 
								
									
								
							
								 
							
						 
						
							
							
								
								build(deps): update public-api requirement from 0.32.0 to 0.33.1  
							
							... 
							
							
							
							Updates the requirements on [public-api](https://github.com/Enselic/cargo-public-api ) to permit the latest version.
- [Release notes](https://github.com/Enselic/cargo-public-api/releases )
- [Changelog](https://github.com/Enselic/cargo-public-api/blob/main/rustdoc-json/CHANGELOG.md )
- [Commits](https://github.com/Enselic/cargo-public-api/compare/v0.32.0...v0.32.0 )
---
updated-dependencies:
- dependency-name: public-api
  dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								5041aa41de 
								
									
								
							
								 
							
						 
						
							
							
								
								xtask: allow public-api regen on aarch64-apple-darwin  
							
							... 
							
							
							
							```
CARGO_CFG_BPF_TARGET_ARCH=x86_64 cargo +nightly xtask public-api --bless --target x86_64-unknown-linux-gnu
``` 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								7a4c6153a0 
								
									
								
							
								 
							
						 
						
							
							
								
								xtask: terminate QEMU on "RCU grace-period kthread stack dump"  
							
							... 
							
							
							
							See
https://github.com/aya-rs/bpf-linker/actions/runs/7067897954/job/19241830198  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								b1769678f4 
								
							
								 
							
						 
						
							
							
								
								aya/maps: pin for (async)perf_event_array  
							
							... 
							
							
							
							Implement pinning for perf_event_array and async_perf_event_array.
Additionally make the core MapData.pin method operate on a reference
rather than a mutable reference.
Signed-off-by: astoycos <astoycos@redhat.com> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								c06fcc3eda 
								
							
								 
							
						 
						
							
							
								
								maps/ringbuf: make RingBuf: Send + Sync  
							
							... 
							
							
							
							There was no reason for them not to be -- the APIs all require mutable
references and hold onto mutable references, so there cannot be internal
concurrency. The !Send + !Sync came from the MMap, but not for any good
reason. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								4d24d1cfe8 
								
							
								 
							
						 
						
							
							
								
								aya: add MapInfo struct following the same pattern as ProgramInfo  
							
							... 
							
							
							
							This makes the APIs for loading maps and programs more similar. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								36420d9297 
								
							
								 
							
						 
						
							
							
								
								aya: support loading a map by fd  
							
							... 
							
							
							
							This adds support to loading maps by fd similarly to the way programs
can be loaded by fd. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								68ba02002f 
								
							
								 
							
						 
						
							
							
								
								aya: make KernelVersion::code public  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								42cc175aeb 
								
									
								
							
								 
							
						 
						
							
							
								
								xtask: attempt to open /dev/kvm  
							
							... 
							
							
							
							We're seeing test failures where KVM is present but we aren't able to use it.
See https://github.com/actions/runner-images/issues/7670#issuecomment-1760184162 . 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								6e256fad5b 
								
							
								 
							
						 
						
							
							
								
								public-api: bless with new nightly  
							
							... 
							
							
							
							See https://github.com/rust-lang/rust/commit/58a80c85b9323e59e1b7e744d6 . 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								c89b2d156d 
								
									
								
							
								 
							
						 
						
							
							
								
								build(deps): update async-io requirement from 1.3 to 2.0  
							
							... 
							
							
							
							Updates the requirements on [async-io](https://github.com/smol-rs/async-io ) to permit the latest version.
- [Release notes](https://github.com/smol-rs/async-io/releases )
- [Changelog](https://github.com/smol-rs/async-io/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-io/compare/v1.3.0...v1.13.0 )
---
updated-dependencies:
- dependency-name: async-io
  dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								e2cf734490 
								
							
								 
							
						 
						
							
							
								
								aya: Implement RingBuf  
							
							... 
							
							
							
							This implements the userspace binding for RingBuf.
Instead of streaming the samples as heap buffers, the process_ring
function takes a callback to which we pass the event's byte region,
roughly following [libbpf]'s API design. This avoids a copy and allows
marking the consumer pointer in a timely manner.
[libbpf]: https://github.com/libbpf/libbpf/blob/master/src/ringbuf.c 
Additionally, integration tests are added to demonstrate the usage
of the new APIs and to ensure that they work end-to-end.
Co-authored-by: William Findlay <william@williamfindlay.com>
Co-authored-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								b73c0a46f5 
								
									
								
							
								 
							
						 
						
							
							
								
								aya: impl From<obj::InvalidMapTypeError> for MapTypeError  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								5cdd1baf29 
								
									
								
							
								 
							
						 
						
							
							
								
								aya: import types from std::ffi rather than libc  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								7b71c7e1cd 
								
							
								 
							
						 
						
							
							
								
								aya/maps: add pin() api  
							
							... 
							
							
							
							- Adds new `maps_mut()` API to the BpfManager to allow us to iterate though
and pin all of maps at the same time.
- Adds new pin(Path)/unpin(Path) api to Maps so they
can be generically pinned AFTER load.
- Adds macro for pinning explicit map types in aya.
Convert all explicit map types "inner" field to be
pub crate in order to facilitate this.
Signed-off-by: astoycos <astoycos@redhat.com> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								5392f9821d 
								
									
								
							
								 
							
						 
						
							
							
								
								xtask: terminate QEMU on "BUG: soft lockup"  
							
							... 
							
							
							
							See
https://github.com/aya-rs/aya/actions/runs/6329828507/job/17190931752 .
Unlike on kernel panic this message prints periodically so it is
permitted to print twice before QEMU is killed. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								d16e607fd4 
								
									
								
							
								 
							
						 
						
							
							
								
								rustfmt: group_imports = "StdExternalCrate"  
							
							... 
							
							
							
							High time we stop debating this; let the robots do the work. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								fe13b2eb41 
								
									
								
							
								 
							
						 
						
							
							
								
								xtask: remove useless copy  
							
							... 
							
							
							
							/tmp/initrd.img is unused. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								cbe9cd9133 
								
									
								
							
								 
							
						 
						
							
							
								
								xtask: appease new clippy warning  
							
							... 
							
							
							
							```
warning: unnecessary hashes around raw string literal
  --> xtask/src/docs.rs:70:17
   |
70 |           indoc! {r#"
   |  _________________^
71 | |     User-Agent:*
72 | |     Disallow: /
73 | |     "#},
   | |______^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_raw_string_hashes 
   = note: `#[warn(clippy::needless_raw_string_hashes)]` on by default
help: remove all the hashes around the literal
   |
70 ~         indoc! {r"
71 |     User-Agent:*
72 |     Disallow: /
73 ~     "},
   |
```
This false negative was fixed in
https://github.com/rust-lang/rust-clippy/pull/11518  (the title
incorrectly says false positive). 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								0edc13b4d4 
								
							
								 
							
						 
						
							
							
								
								bpf: add a shared try_redirect_map function for XDP maps  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								579e3cee22 
								
							
								 
							
						 
						
							
							
								
								aya, bpf: misc fixes following review comments  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								46551de3e7 
								
							
								 
							
						 
						
							
							
								
								xtask: bless public-api  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								42fd82e32b 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #790  from dave-tucker/no-map-pinned  
							
							
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								938f979fe7 
								
							
								 
							
						 
						
							
							
								
								aya: Make MapData::pin pub  
							
							... 
							
							
							
							This is to solve a use-case where a user (in this case bpfd) may want
to:
- MapData::from_pin to open a pinned map from bpffs
- MapData::pin to pin that object into another bpffs
Both operations should be easily accomplished without needing to cast
a MapData into a concrete Map type - e.g aya::maps::HashMap.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								0f4021ec89 
								
							
								 
							
						 
						
							
							
								
								aya: Remove MapData::pinned  
							
							... 
							
							
							
							BPF objects can be pinned multiple times, to multiple different places.
Tracking whether or not a map is pinned in a bool is therefore not sufficient.
We could track this in a HashSet<PathBuf>, but there is really no reason
to track it at all.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk> 
							
						 
						
							2 years ago