Commit Graph

1619 Commits (a4e68ebdbf0e0b591509f36316d12d9689d23f89)
 

Author SHA1 Message Date
Daniel Mellado a4e68ebdbf aya: include license in crate workspace
This PR includes the licenses files in the crate workspace subdirectory.
Without this, they won't be showing on crates.io and would be giving out
errors on tooling such as rust2rpm.

Signed-off-by: Daniel Mellado <dmellado@redhat.com>
Dave Tucker d6dfd678f0
Merge pull request from dave-tucker/unused-qualifications
chore: Fix unused_qualifications lints
Dave Tucker 481b73b6d8 chore: Fix unused_qualifications lints
This was failing the docs build.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Gary Guo 542306d295 Add `CgroupDevice::query`
This follows closely the existing `LircMode2::query`.
Tamir Duberstein e38eac6352 aya: appease new nightly clippy lints
```
  error: unnecessary qualification
     --> aya/src/maps/ring_buf.rs:434:22
      |
  434 |                 ptr: ptr::NonNull::new(ptr).ok_or(
      |                      ^^^^^^^^^^^^^^^^^
      |
  note: the lint level is defined here
     --> aya/src/lib.rs:72:5
      |
  72  |     unused_qualifications,
      |     ^^^^^^^^^^^^^^^^^^^^^
  help: remove the unnecessary path segments
      |
  434 -                 ptr: ptr::NonNull::new(ptr).ok_or(
  434 +                 ptr: NonNull::new(ptr).ok_or(
      |

  error: unnecessary qualification
     --> aya/src/maps/mod.rs:225:21
      |
  225 |     let mut limit = std::mem::MaybeUninit::<rlimit>::uninit();
      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      |
  help: remove the unnecessary path segments
      |
  225 -     let mut limit = std::mem::MaybeUninit::<rlimit>::uninit();
  225 +     let mut limit = mem::MaybeUninit::<rlimit>::uninit();
      |

  error: unnecessary qualification
     --> aya/src/programs/mod.rs:614:9
      |
  614 |         crate::obj::Program {
      |         ^^^^^^^^^^^^^^^^^^^
      |
  help: remove the unnecessary path segments
      |
  614 -         crate::obj::Program {
  614 +         obj::Program {
      |

  error: unnecessary qualification
     --> aya/src/util.rs:373:14
      |
  373 |     unsafe { std::slice::from_raw_parts(bpf_name.as_ptr() as
      *const _, length) }
      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
      |
  help: remove the unnecessary path segments
      |
  373 -     unsafe { std::slice::from_raw_parts(bpf_name.as_ptr() as
      *const _, length) }
  373 +     unsafe { slice::from_raw_parts(bpf_name.as_ptr() as *const _,
      length) }
      |

  error: unnecessary qualification
      --> aya/src/maps/mod.rs:1130:47
       |
  1130 |                     .copy_from_slice(unsafe {
       std::mem::transmute(TEST_NAME) });
       |                                               ^^^^^^^^^^^^^^^^^^^
       |
  note: the lint level is defined here
      --> aya/src/lib.rs:72:5
       |
  72   |     unused_qualifications,
       |     ^^^^^^^^^^^^^^^^^^^^^
  help: remove the unnecessary path segments
       |
  1130 -                     .copy_from_slice(unsafe {
       std::mem::transmute(TEST_NAME) });
  1130 +                     .copy_from_slice(unsafe {
       mem::transmute(TEST_NAME) });
       |
```
Alessandro Decina 84ed505275 aya-bpf-macros: fix cgroup/skb section name
When no expected attach type is passed, the section name must be
cgroup/skb not cgroup_skb.

Fixes 
Dave Tucker b6a84b658a Release aya-log-common v0.1.14, aya-log v0.2.0
Dave Tucker 4f0f095775 docs(aya-log-common): Add CHANGELOG
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 9abb7160e5 docs(aya-log): Add CHANGELOG
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker c22a6963d4 Release aya-log-common v0.1.14, aya-log v0.2.0
Dave Tucker 0e99fa0f34 Release aya-obj v0.1.0, aya v0.12.0, safety bump aya-log v0.2.0
Dave Tucker 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>
Dave Tucker c010505f19 ci: Remove old release workflows
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker daa5a47310
Merge pull request from dave-tucker/breaking-changes-v2
docs(aya): Document more breaking changes
Dave Tucker 431ce23f27
Merge pull request from dave-tucker/changelog
Add Generated Changelogs for aya and aya-obj
Dave Tucker 2d9d7a1a0b docs(aya): Document more breaking changes
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 3a8274d445 chore: Disable markdownlint for generated files
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 12280a83f9 docs(aya): Add CHANGELOG
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 72e8aab6c8 docs(aya-obj): Add CHANGELOG
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 5c9c044719
Merge pull request from dave-tucker/breaking-changes
docs: Document breaking changes
Dave Tucker 281ac1ac02 docs: Document breaking changes
This provides a `BREAKING-CHANGES.md` that we can populate per-crate.
Doing so will allow us to pull this content into our changelog and
websites to make things easier for users.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Tamir Duberstein 3369169aac aya: appease new nightly clippy lints
```
  error: unnecessary use of `get("foo").is_some()`
      --> aya-obj/src/obj.rs:1690:26
       |
  1690 |         assert!(obj.maps.get("foo").is_some());
       |                          ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key("foo")`
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check
  note: the lint level is defined here
      --> aya-obj/src/lib.rs:68:9
       |
  68   | #![deny(clippy::all, missing_docs)]
       |         ^^^^^^^^^^^
       = note: `#[deny(clippy::unnecessary_get_then_check)]` implied by `#[deny(clippy::all)]`

  error: unnecessary use of `get("foo").is_some()`
      --> aya-obj/src/obj.rs:1777:26
       |
  1777 |         assert!(obj.maps.get("foo").is_some());
       |                          ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key("foo")`
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check

  error: unnecessary use of `get("bar").is_some()`
      --> aya-obj/src/obj.rs:1778:26
       |
  1778 |         assert!(obj.maps.get("bar").is_some());
       |                          ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key("bar")`
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check

  error: unnecessary use of `get("baz").is_some()`
      --> aya-obj/src/obj.rs:1779:26
       |
  1779 |         assert!(obj.maps.get("baz").is_some());
       |                          ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key("baz")`
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check

  error: unnecessary use of `get(".bss").is_some()`
      --> aya-obj/src/obj.rs:1799:26
       |
  1799 |         assert!(obj.maps.get(".bss").is_some());
       |                          ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(".bss")`
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check

  error: unnecessary use of `get(".rodata").is_some()`
      --> aya-obj/src/obj.rs:1810:26
       |
  1810 |         assert!(obj.maps.get(".rodata").is_some());
       |                          ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(".rodata")`
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check

  error: unnecessary use of `get(".rodata.boo").is_some()`
      --> aya-obj/src/obj.rs:1821:26
       |
  1821 |         assert!(obj.maps.get(".rodata.boo").is_some());
       |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(".rodata.boo")`
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check

  error: unnecessary use of `get(".data").is_some()`
      --> aya-obj/src/obj.rs:1832:26
       |
  1832 |         assert!(obj.maps.get(".data").is_some());
       |                          ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(".data")`
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check

  error: unnecessary use of `get(".data.boo").is_some()`
      --> aya-obj/src/obj.rs:1843:26
       |
  1843 |         assert!(obj.maps.get(".data.boo").is_some());
       |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(".data.boo")`
```
dependabot[bot] 499c6bf8d1
Merge pull request from aya-rs/dependabot/cargo/production-dependencies-ba653fb7e8
dependabot[bot] d71d5f72ff
build(deps): bump the production-dependencies group with 1 update
Updates the requirements on [nix](https://github.com/nix-rust/nix) to permit the latest version.

Updates `nix` to 0.27.1
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.27.0...v0.27.1)

---
updated-dependencies:
- dependency-name: nix
  dependency-type: direct:production
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Michal Rostecki 417679be9e
Merge pull request from dave-tucker/release-toml
chore: Fix release.toml
Dave Tucker 5393618081 chore: Fix release.toml
post-release-commit-message was deprecated a while back.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 0fadd69537
Merge pull request from dave-tucker/metadata
chore: Use the cargo workspace package table
Dave Tucker 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>
Dave Tucker 664bb47abf
Merge pull request from dave-tucker/libelf
Fix macOS CI
Dave Tucker 6e9dcee702 ci: Use nightly-2022-02-12 on macOS
LLVM-18 hasn't been released on macOS yet

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 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>
Dave Tucker 2d721971cf
Merge pull request from dave-tucker/nightly-up
chore: Appease clippy unused imports
Dave Tucker 770a95e077 chore: Appease clippy unused imports
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Tamir Duberstein 963dd13219 Appease rustc dead_code lint
Some of these are legit, others are false positives. I've filed
https://github.com/rust-lang/rust/issues/120770 for the latter.
Σrebe - Romain GERARD c31cce4a36 fix(aya-sock-map): invalid transmute when calling fd
Corrent an invalid transmutation for sock_map.
fd is already a ref of MapFd, so transmuting &fd to &SockMapFd is
equivalent to transmuting &&SockMapFd into &SockMapFd which is buggy.
Dave Tucker 46b48053df
Merge pull request from alessandrod/missing-exports
aya/programs: export some missing modules
Alessandro Decina f491f56204 aya: bless API
Alessandro Decina a23772239a deps: update hashbrown
Hashbrown depends on ahash which used to use feature(stdsimd) which as
been removed in https://github.com/rust-lang/rust/issues/27731.

Latest hashbrown bumps ahash which doesn't use the removed feature
anymore.
Alessandro Decina 2be705bfa0 aya/programs: reformat to please rustfmt
Alessandro Decina 9b4f87646d Reorder imports a bit
Alessandro Decina d570450a0c aya/programs: export some missing modules
Previously we were only re-exporting the program types from these, so
links and other pub types were not exported.
Alessandro Decina 0f6a734392 aya: perf_event: add inherit argument to attach()
dependabot[bot] 3fedc2a706
Merge pull request from aya-rs/dependabot/cargo/production-dependencies-18caeb64e4
Michal Rostecki c05a3b69b7 aya-obj: Handle lack of match of enum variants correctly
When comparing `local_spec` with `target_spec` for enum relocations,
we can encounter a situation when a matchinng variant in a candidate
spec doesn't exist.

Before this change, such case wasn't handled explicitly, therefore
resulted in returning currently constructed `target_spec` at the
end. The problem is that such `target_spec` was, due to lack of
match, incomplete. It didn't contain any `accessors` nor `parts`.

Later usage of such incomplete `target_spec` was leading to panics,
since the code operating on enums' `target_spec` expects at least
one `accessor` to be available.

Fixes 
Alessandro Decina 92b1947885 aya: add StackTraceMap::remove()
Tamir Duberstein 057f27dc20 public-api: regenerate
StructuralEq has been removed.

See 0df7810734.
dependabot[bot] 79c1d8495e
Merge pull request from aya-rs/dependabot/github_actions/production-dependencies-4cb50122c4
dependabot[bot] b4d34d4d51
build(deps): bump the production-dependencies group with 1 update
Bumps the production-dependencies group with 1 update: [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action).


Updates `DavidAnson/markdownlint-cli2-action` from 14 to 15
- [Release notes](https://github.com/davidanson/markdownlint-cli2-action/releases)
- [Commits](https://github.com/davidanson/markdownlint-cli2-action/compare/v14...v15)

---
updated-dependencies:
- dependency-name: DavidAnson/markdownlint-cli2-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] b8743ac5f9
build(deps): bump the production-dependencies group with 2 updates
Updates the requirements on [env_logger](https://github.com/rust-cli/env_logger) and [which](https://github.com/harryfei/which-rs) to permit the latest version.

Updates `env_logger` to 0.10.2
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.10.0...v0.10.2)

Updates `which` to 5.0.0
- [Release notes](https://github.com/harryfei/which-rs/releases)
- [Changelog](https://github.com/harryfei/which-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/harryfei/which-rs/compare/5.0.0...5.0.0)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-type: direct:production
  dependency-group: production-dependencies
- dependency-name: which
  dependency-type: direct:production
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Tamir Duberstein fd2fb98792 Revert "bpf: appease nightly lint"
This reverts commit 9861c1446e.

This no longer warns. See
https://github.com/rust-lang/rust/commit/d95d6ceecb372c66ed18a4e7a0bbb7.