-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move all seccomp consts and structs into top-level mod #3343
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @JohnTitor (or someone else) soon. Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (
|
dea1d60
to
c345f40
Compare
style check is failing but I get
It looks like it was some indentation issue. Either way, I fixed it. |
The linux failures are coming from SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV which was added last year torvalds/linux@c2aa2df Looks like it was available in about 5.19 or so, and the docker image this is running in is I'm not sure what to do here. |
c345f40
to
dd6e53d
Compare
Hi, anyone have any suggestions for what to do here? The issue is that the version of the Linux kernel in CI does not support some newer constants for the seccomp syscall, and so CI fails when checking whether the constants exist in the corresponding C headers. However, the version in CI is also newer than the minimum supported version of the linux kernel so in theory this crate may already have constants that are not supported by the minimum version but do happen to be supported by the version in CI. |
Could you try to do a rebase? We recently updated the Ubuntu image on CI to 23.10, which uses Linux v6.5. |
dd6e53d
to
6621f07
Compare
@JohnTitor Thanks, it looks like everything is passing now! |
Cool! One concern is that our musl toolchain is quite old and might fail, but let's see if that's the case. Lines 3503 to 3506 in 240de1f
@bors r+ |
Move all seccomp consts and structs into top-level mod Move all seccomp consts and structs into top-level mod Seccomp constants and structs were partially defined in the top-level mod.rs for linux and partially outside. This commit moves everything into the top-level mod and adds missing entries as of linux 6.4.12. Resolves #3342 and [rust-vmm/seccompiler#57](rust-vmm/seccompiler#57) I couldn't get main to run libc-test cargo test (even without my changes) with either gcc 13.2.1 or clang 16.0.6. They failed with different errors/warnings.
💔 Test failed - checks-actions |
Yeah, it looks like it's failing on musl with stuff like
Could I help out with upgrading musl? If you think it's too much work I'm fine with just adding the exceptions for the failing types and constants. |
Sadly it's quite hard. We have to upgrade musl from v1.1.24 to v1.2 or higher, but it would break the compatibility. See #3068 for ongoing work. I'd recommend just skipping tests for now. |
6621f07
to
9c92649
Compare
I'm not sure if I'm able to trigger a bors run to test the tier2 targets. |
tier2 targets are only run on bors (otherwise it consumes a lot of GHA budget on the org), @bors r+ |
💔 Test failed - checks-actions |
So I'm trying to reproduce the failure locally and the first issue I ran into was
but the docker run command is https://github.com/rust-lang/libc/blob/main/ci/run-docker.sh#L48
so I changed them to rw and execution could continue. Now I'm getting
and I don't immediately see how to fix this. I'm not sure if the docker user is supposed to be root or something or if something else is wrong with the docker bindmounts. |
Just for reference, the failure in CI looks like
Earlier in the docker run, it does say
so it's not like there are old headers or anything. Here's the definition of |
Aha, I took another look at the docker command:
this is probably expecting that the docker command is run by root so that $(id -u) and -g evaluate to 0. I don't really think this makes sense since ideally your local user and docker user have no relationship to each other. So after I changed them to be 0 for root, I'm getting simply that it appears the mips target isn't installed.
so I'll do some more digging. Maybe I just need to delete the image and restart or something (edit: deleted some stuff about the --rm flag.) |
So, we have to build the target using |
@JohnTitor Does docker CI run locally for you? It might be an issue with my environment just not matching what the scripts want. |
Yes it works fine. printf '[toolchain]\nchannel = "nightly"\n' >rust-toolchain.toml
rustup target add mips-unknown-linux-gnu
cargo generate-lockfile
./ci/run-docker.sh mips-unknown-linux-gnu (Replace
This is because you didn't run
No, it expects the user running the script to be in the
This is because you didn't run |
Anyway I rebased your branch on main and test all the targets except mips and android for you and they all pass. So if you rebase and ask JohnTitor to rerun CI it should be fine. |
Seccomp constants and structs were partially defined in the top-level mod.rs for linux and partially outside. This commit moves everything into the top-level mod and adds missing entries as of linux 6.4.12. Signed-off-by: Harry Stern <[email protected]>
9c92649
to
466516d
Compare
I rebased, thanks for helping out with this! @JohnTitor could you re-try CI please? It might be nice to add instructions in the ci/ directory on how to run everything. I also am not sure if the solution to the uid and bindmount ro/rw stuff is to just run the scripts as root locally, which seems not ideal, or if there's a better way besides modifying the scripts. |
As I said, add yourself to the |
Sorry, I forgot to mention my user is in the docker group! |
Hi again, sorry to bother, @JohnTitor could you re-run the CI tests when you have a chance? Thank you! |
Sorry for the long delay! I missed this. @bors r+ |
☀️ Test successful - checks-actions, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14 |
Thank you! |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [libc](https://togithub.com/rust-lang/libc) | dependencies | patch | `0.2.151` -> `0.2.152` | --- ### Release Notes <details> <summary>rust-lang/libc (libc)</summary> ### [`v0.2.152`](https://togithub.com/rust-lang/libc/releases/tag/0.2.152) [Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.151...0.2.152) ##### What's Changed - openbsd: syscall() has been removed in upcoming OpenBSD 7.5 by [@​semarie](https://togithub.com/semarie) in [https://github.com/rust-lang/libc/pull/3479](https://togithub.com/rust-lang/libc/pull/3479) - adding tcp_info to openbsd by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3481](https://togithub.com/rust-lang/libc/pull/3481) - iadding yser_fpxregs_struct data to linux/musl i686. by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3477](https://togithub.com/rust-lang/libc/pull/3477) - strftime\* api for \*BSD by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3483](https://togithub.com/rust-lang/libc/pull/3483) - strftime_l for Linux glibc/musl by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3484](https://togithub.com/rust-lang/libc/pull/3484) - adding iocb data for io_submit syscall for linux/glibc. by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3486](https://togithub.com/rust-lang/libc/pull/3486) - Re-enable `i686-pc-windows-gnu` CI by [@​JohnTitor](https://togithub.com/JohnTitor) in [https://github.com/rust-lang/libc/pull/3489](https://togithub.com/rust-lang/libc/pull/3489) - Stop testing on FreeBSD 12 by [@​asomers](https://togithub.com/asomers) in [https://github.com/rust-lang/libc/pull/3475](https://togithub.com/rust-lang/libc/pull/3475) - Add `ifreq`, `ifconf` and related constants to Android by [@​arctic-alpaca](https://togithub.com/arctic-alpaca) in [https://github.com/rust-lang/libc/pull/3487](https://togithub.com/rust-lang/libc/pull/3487) - Add waitid function for OpenBSD by [@​lcheylus](https://togithub.com/lcheylus) in [https://github.com/rust-lang/libc/pull/3490](https://togithub.com/rust-lang/libc/pull/3490) - adding SOMAXCONN to redox by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3491](https://togithub.com/rust-lang/libc/pull/3491) - Fix typos in comments by [@​asomers](https://togithub.com/asomers) in [https://github.com/rust-lang/libc/pull/3492](https://togithub.com/rust-lang/libc/pull/3492) - fix typos in libc by [@​Takashiidobe](https://togithub.com/Takashiidobe) in [https://github.com/rust-lang/libc/pull/3496](https://togithub.com/rust-lang/libc/pull/3496) - apple adding tcp_connection_info struct by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3482](https://togithub.com/rust-lang/libc/pull/3482) - Improve the version parser of Emscripten by [@​kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/libc/pull/3498](https://togithub.com/rust-lang/libc/pull/3498) - Add constants from \<include/linux/sched.h> by [@​GuillaumeGomez](https://togithub.com/GuillaumeGomez) in [https://github.com/rust-lang/libc/pull/3505](https://togithub.com/rust-lang/libc/pull/3505) - Define `TFD_TIMER_*` constants on FreeBSD. by [@​sunfishcode](https://togithub.com/sunfishcode) in [https://github.com/rust-lang/libc/pull/3506](https://togithub.com/rust-lang/libc/pull/3506) - Add support for posix_spawn on OpenBSD by [@​nuudlman](https://togithub.com/nuudlman) in [https://github.com/rust-lang/libc/pull/3502](https://togithub.com/rust-lang/libc/pull/3502) - clock_nanosleep for dragonflybsd, moving constants freebsd only too. by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3509](https://togithub.com/rust-lang/libc/pull/3509) - solarish add fcntl's O_DIRECT constant. by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3503](https://togithub.com/rust-lang/libc/pull/3503) - Unpin cc dependency version by [@​JohnTitor](https://togithub.com/JohnTitor) in [https://github.com/rust-lang/libc/pull/3511](https://togithub.com/rust-lang/libc/pull/3511) - redox: add openpty, login_tty, TIOCSCTTY, and organize functions by [@​jackpot51](https://togithub.com/jackpot51) in [https://github.com/rust-lang/libc/pull/3512](https://togithub.com/rust-lang/libc/pull/3512) - Move all seccomp consts and structs into top-level mod by [@​boustrophedon](https://togithub.com/boustrophedon) in [https://github.com/rust-lang/libc/pull/3343](https://togithub.com/rust-lang/libc/pull/3343) - freebsd 15 support proposal. by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3508](https://togithub.com/rust-lang/libc/pull/3508) - Prepare workflow for merge queue by [@​JohnTitor](https://togithub.com/JohnTitor) in [https://github.com/rust-lang/libc/pull/3514](https://togithub.com/rust-lang/libc/pull/3514) - Allow dead_code on `clockid_t` by [@​JohnTitor](https://togithub.com/JohnTitor) in [https://github.com/rust-lang/libc/pull/3516](https://togithub.com/rust-lang/libc/pull/3516) - Add more items from `include/linux/sched.h` header by [@​GuillaumeGomez](https://togithub.com/GuillaumeGomez) in [https://github.com/rust-lang/libc/pull/3515](https://togithub.com/rust-lang/libc/pull/3515) - fix typo by [@​shuoer86](https://togithub.com/shuoer86) in [https://github.com/rust-lang/libc/pull/3517](https://togithub.com/rust-lang/libc/pull/3517) - Add sigsuspend to more targets: bsd, haiku, and solarish by [@​asomers](https://togithub.com/asomers) in [https://github.com/rust-lang/libc/pull/3518](https://togithub.com/rust-lang/libc/pull/3518) - Tweak libc-0.2 CI by [@​JohnTitor](https://togithub.com/JohnTitor) in [https://github.com/rust-lang/libc/pull/3519](https://togithub.com/rust-lang/libc/pull/3519) - fuchsia adding pthread_set/getname_np by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/libc/pull/3520](https://togithub.com/rust-lang/libc/pull/3520) - Prepare docs for libc v0.3 by [@​JohnTitor](https://togithub.com/JohnTitor) in [https://github.com/rust-lang/libc/pull/3510](https://togithub.com/rust-lang/libc/pull/3510) - Merge main into libc-0.2 by [@​JohnTitor](https://togithub.com/JohnTitor) in [https://github.com/rust-lang/libc/pull/3521](https://togithub.com/rust-lang/libc/pull/3521) - Prepare release for v0.2.152 by [@​JohnTitor](https://togithub.com/JohnTitor) in [https://github.com/rust-lang/libc/pull/3522](https://togithub.com/rust-lang/libc/pull/3522) ##### New Contributors - [@​Takashiidobe](https://togithub.com/Takashiidobe) made their first contribution in [https://github.com/rust-lang/libc/pull/3496](https://togithub.com/rust-lang/libc/pull/3496) - [@​nuudlman](https://togithub.com/nuudlman) made their first contribution in [https://github.com/rust-lang/libc/pull/3502](https://togithub.com/rust-lang/libc/pull/3502) - [@​boustrophedon](https://togithub.com/boustrophedon) made their first contribution in [https://github.com/rust-lang/libc/pull/3343](https://togithub.com/rust-lang/libc/pull/3343) - [@​shuoer86](https://togithub.com/shuoer86) made their first contribution in [https://github.com/rust-lang/libc/pull/3517](https://togithub.com/rust-lang/libc/pull/3517) **Full Changelog**: rust-lang/libc@0.2.151...0.2.152 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/agbrs/agb). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
chore(deps): update compatible [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [anstream](https://togithub.com/rust-cli/anstyle) | workspace.dependencies | patch | `0.6.5` -> `0.6.11` | | [anstyle](https://togithub.com/rust-cli/anstyle) | workspace.dependencies | patch | `1.0.4` -> `1.0.6` | | [base64](https://togithub.com/marshallpierce/rust-base64) | workspace.dependencies | patch | `0.21.5` -> `0.21.7` | | [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies | patch | `4.4.12` -> `4.4.18` | | [curl-sys](https://togithub.com/alexcrichton/curl-rust) | workspace.dependencies | patch | `0.4.70` -> `0.4.71+curl-8` | | [handlebars](https://togithub.com/sunng87/handlebars-rust) | workspace.dependencies | minor | `5.0.0` -> `5.1.0` | | [ignore](https://togithub.com/BurntSushi/ripgrep/tree/master/crates/ignore) ([source](https://togithub.com/BurntSushi/ripgrep/tree/HEAD/crates/ignore)) | workspace.dependencies | patch | `0.4.21` -> `0.4.22` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | patch | `0.12.0` -> `0.12.1` | | [libc](https://togithub.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.151` -> `0.2.153` | | [pkg-config](https://togithub.com/rust-lang/pkg-config-rs) | workspace.dependencies | patch | `0.3.28` -> `0.3.29` | | [regex](https://togithub.com/rust-lang/regex) | workspace.dependencies | patch | `1.10.2` -> `1.10.3` | | [semver](https://togithub.com/dtolnay/semver) | workspace.dependencies | patch | `1.0.20` -> `1.0.21` | | [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.194` -> `1.0.196` | | [serde-untagged](https://togithub.com/dtolnay/serde-untagged) | workspace.dependencies | patch | `0.1.4` -> `0.1.5` | | [serde_ignored](https://togithub.com/dtolnay/serde-ignored) | workspace.dependencies | patch | `0.1.9` -> `0.1.10` | | [serde_json](https://togithub.com/serde-rs/json) | workspace.dependencies | patch | `1.0.110` -> `1.0.113` | | [snapbox](https://togithub.com/assert-rs/trycmd/tree/main/crates/snapbox) ([source](https://togithub.com/assert-rs/trycmd)) | workspace.dependencies | patch | `0.4.15` -> `0.4.16` | | [tracing](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tracing)) | workspace.dependencies | patch | `0.1.37` -> `0.1.40` | --- ### Release Notes <details> <summary>rust-cli/anstyle (anstream)</summary> ### [`v0.6.11`](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.10...anstream-v0.6.11) [Compare Source](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.10...anstream-v0.6.11) ### [`v0.6.10`](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.9...anstream-v0.6.10) [Compare Source](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.9...anstream-v0.6.10) ### [`v0.6.9`](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.8...anstream-v0.6.9) [Compare Source](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.8...anstream-v0.6.9) ### [`v0.6.8`](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.7...anstream-v0.6.8) [Compare Source](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.7...anstream-v0.6.8) ### [`v0.6.7`](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.6...anstream-v0.6.7) [Compare Source](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.6...anstream-v0.6.7) ### [`v0.6.6`](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.5...anstream-v0.6.6) [Compare Source](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.5...anstream-v0.6.6) </details> <details> <summary>marshallpierce/rust-base64 (base64)</summary> ### [`v0.21.7`](https://togithub.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0217) [Compare Source](https://togithub.com/marshallpierce/rust-base64/compare/v0.21.6...v0.21.7) - Support getting an alphabet's contents as a str via `Alphabet::as_str()` ### [`v0.21.6`](https://togithub.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0216) [Compare Source](https://togithub.com/marshallpierce/rust-base64/compare/v0.21.5...v0.21.6) - Improved introductory documentation and example </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.4.18`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4418---2024-01-16) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.17...v4.4.18) ##### Fixes - *(error)* When lacking `usage` feature, ensure the list of required arguments is unique ### [`v4.4.17`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4417---2024-01-15) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.16...v4.4.17) ##### Fixes - Fix `panic!` when mixing `args_conflicts_with_subcommands` with `ArgGroup` (which is implicit with `derive`) introduced in 4.4.15 ### [`v4.4.16`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4416---2024-01-12) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.15...v4.4.16) ##### Fixes - Ensure invalid escape sequences in user-defined strings are correctly stripped when terminal doesn't support color ### [`v4.4.15`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4415---2024-01-11) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.14...v4.4.15) ##### Fixes - Improve error for `args_conflicts_with_subcommands` - Ensure we error for `args_conflicts_with_subcommands` when using subcommand short and long flags ### [`v4.4.14`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4414---2024-01-08) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.13...v4.4.14) ##### Documentation - Fix `find` cookbook entry to allow repeats of flags/options ##### Features - Allow `num_args(0)` on options which allows making them emulate being a flag for position-tracking flags ### [`v4.4.13`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4413---2024-01-04) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.12...v4.4.13) ##### Documentation - Fix link to structopt migration guide </details> <details> <summary>alexcrichton/curl-rust (curl-sys)</summary> ### [`v0.4.71+curl-8.6.0`](https://togithub.com/alexcrichton/curl-rust/compare/curl-sys-0.4.70...curl-sys-0.4.71) [Compare Source](https://togithub.com/alexcrichton/curl-rust/compare/curl-sys-0.4.70...curl-sys-0.4.71) </details> <details> <summary>sunng87/handlebars-rust (handlebars)</summary> ### [`v5.1.0`](https://togithub.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#510---2024-01-17) [Compare Source](https://togithub.com/sunng87/handlebars-rust/compare/v5.0.0...v5.1.0) - \[Added] Chained `else if` block support \[[#​629](https://togithub.com/sunng87/handlebars-rust/issues/629)] </details> <details> <summary>BurntSushi/ripgrep (ignore)</summary> ### [`v0.4.22`](https://togithub.com/BurntSushi/ripgrep/compare/ignore-0.4.21...ignore-0.4.22) [Compare Source](https://togithub.com/BurntSushi/ripgrep/compare/ignore-0.4.21...ignore-0.4.22) </details> <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) ##### Added - Documented iteration order guarantee for `Itertools::[tuple_]combinations` ([#​822](https://togithub.com/rust-itertools/itertools/issues/822)) - Documented possible panic in `iterate` ([#​842](https://togithub.com/rust-itertools/itertools/issues/842)) - Implemented `Clone` and `Debug` for `Diff` ([#​845](https://togithub.com/rust-itertools/itertools/issues/845)) - Implemented `Debug` for `WithPosition` ([#​859](https://togithub.com/rust-itertools/itertools/issues/859)) - Implemented `Eq` for `MinMaxResult` ([#​838](https://togithub.com/rust-itertools/itertools/issues/838)) - Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>` ([#​843](https://togithub.com/rust-itertools/itertools/issues/843)) - Implemented `PeekingNext` for `RepeatN` ([#​855](https://togithub.com/rust-itertools/itertools/issues/855)) ##### Changed - Made `CoalesceBy` lazy ([#​801](https://togithub.com/rust-itertools/itertools/issues/801)) - Optimized `Filter[Map]Ok::next`, `Itertools::partition`, `Unique[By]::next[_back]` ([#​818](https://togithub.com/rust-itertools/itertools/issues/818)) - Optimized `Itertools::find_position` ([#​837](https://togithub.com/rust-itertools/itertools/issues/837)) - Optimized `Positions::next[_back]` ([#​816](https://togithub.com/rust-itertools/itertools/issues/816)) - Optimized `ZipLongest::fold` ([#​854](https://togithub.com/rust-itertools/itertools/issues/854)) - Relaxed `Debug` bounds for `GroupingMapBy` ([#​860](https://togithub.com/rust-itertools/itertools/issues/860)) - Specialized `ExactlyOneError::fold` ([#​826](https://togithub.com/rust-itertools/itertools/issues/826)) - Specialized `Interleave[Shortest]::fold` ([#​849](https://togithub.com/rust-itertools/itertools/issues/849)) - Specialized `MultiPeek::fold` ([#​820](https://togithub.com/rust-itertools/itertools/issues/820)) - Specialized `PadUsing::[r]fold` ([#​825](https://togithub.com/rust-itertools/itertools/issues/825)) - Specialized `PeekNth::fold` ([#​824](https://togithub.com/rust-itertools/itertools/issues/824)) - Specialized `Positions::[r]fold` ([#​813](https://togithub.com/rust-itertools/itertools/issues/813)) - Specialized `PutBackN::fold` ([#​823](https://togithub.com/rust-itertools/itertools/issues/823)) - Specialized `RepeatN::[r]fold` ([#​821](https://togithub.com/rust-itertools/itertools/issues/821)) - Specialized `TakeWhileInclusive::fold` ([#​851](https://togithub.com/rust-itertools/itertools/issues/851)) - Specialized `ZipLongest::rfold` ([#​848](https://togithub.com/rust-itertools/itertools/issues/848)) ##### Notable Internal Changes - Added test coverage in CI ([#​847](https://togithub.com/rust-itertools/itertools/issues/847), [#​856](https://togithub.com/rust-itertools/itertools/issues/856)) - Added semver check in CI ([#​784](https://togithub.com/rust-itertools/itertools/issues/784)) - Enforced `clippy` in CI ([#​740](https://togithub.com/rust-itertools/itertools/issues/740)) - Enforced `rustdoc` in CI ([#​840](https://togithub.com/rust-itertools/itertools/issues/840)) - Improved specialization tests ([#​807](https://togithub.com/rust-itertools/itertools/issues/807)) - More specialization benchmarks ([#​806](https://togithub.com/rust-itertools/itertools/issues/806)) </details> <details> <summary>rust-lang/libc (libc)</summary> ### [`v0.2.153`](https://togithub.com/rust-lang/libc/releases/tag/0.2.153) [Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.152...0.2.153) #### What's Changed - Add SOMAXCONN to vita on 0.2 (to fix std) by [`@​pheki](https://togithub.com/pheki)` in [https://github.com/rust-lang/libc/pull/3552](https://togithub.com/rust-lang/libc/pull/3552) - Fix CI for v0.2 by [`@​JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3557](https://togithub.com/rust-lang/libc/pull/3557) - \[Backport [#​3548](https://togithub.com/rust-lang/libc/issues/3548)] Add ioctl FS_IOC\_{G,S}{ETVERSION,ETFLAGS} for LoongArch64 by [`@​heiher](https://togithub.com/heiher)` in [https://github.com/rust-lang/libc/pull/3570](https://togithub.com/rust-lang/libc/pull/3570) - Add MFD_NOEXEC_SEAL and MFD_EXEC by [`@​rusty-snake](https://togithub.com/rusty-snake)` in [https://github.com/rust-lang/libc/pull/3553](https://togithub.com/rust-lang/libc/pull/3553) - Backport of [#​3546](https://togithub.com/rust-lang/libc/issues/3546) and update crate version to 0.2.153 by [`@​GuillaumeGomez](https://togithub.com/GuillaumeGomez)` in [https://github.com/rust-lang/libc/pull/3554](https://togithub.com/rust-lang/libc/pull/3554) #### New Contributors - [`@​rusty-snake](https://togithub.com/rusty-snake)` made their first contribution in [https://github.com/rust-lang/libc/pull/3553](https://togithub.com/rust-lang/libc/pull/3553) **Full Changelog**: rust-lang/libc@0.2.152...0.2.153 ### [`v0.2.152`](https://togithub.com/rust-lang/libc/releases/tag/0.2.152) [Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.151...0.2.152) #### What's Changed - openbsd: syscall() has been removed in upcoming OpenBSD 7.5 by [`@​semarie](https://togithub.com/semarie)` in [https://github.com/rust-lang/libc/pull/3479](https://togithub.com/rust-lang/libc/pull/3479) - adding tcp_info to openbsd by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3481](https://togithub.com/rust-lang/libc/pull/3481) - iadding yser_fpxregs_struct data to linux/musl i686. by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3477](https://togithub.com/rust-lang/libc/pull/3477) - strftime\* api for \*BSD by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3483](https://togithub.com/rust-lang/libc/pull/3483) - strftime_l for Linux glibc/musl by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3484](https://togithub.com/rust-lang/libc/pull/3484) - adding iocb data for io_submit syscall for linux/glibc. by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3486](https://togithub.com/rust-lang/libc/pull/3486) - Re-enable `i686-pc-windows-gnu` CI by [`@​JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3489](https://togithub.com/rust-lang/libc/pull/3489) - Stop testing on FreeBSD 12 by [`@​asomers](https://togithub.com/asomers)` in [https://github.com/rust-lang/libc/pull/3475](https://togithub.com/rust-lang/libc/pull/3475) - Add `ifreq`, `ifconf` and related constants to Android by [`@​arctic-alpaca](https://togithub.com/arctic-alpaca)` in [https://github.com/rust-lang/libc/pull/3487](https://togithub.com/rust-lang/libc/pull/3487) - Add waitid function for OpenBSD by [`@​lcheylus](https://togithub.com/lcheylus)` in [https://github.com/rust-lang/libc/pull/3490](https://togithub.com/rust-lang/libc/pull/3490) - adding SOMAXCONN to redox by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3491](https://togithub.com/rust-lang/libc/pull/3491) - Fix typos in comments by [`@​asomers](https://togithub.com/asomers)` in [https://github.com/rust-lang/libc/pull/3492](https://togithub.com/rust-lang/libc/pull/3492) - fix typos in libc by [`@​Takashiidobe](https://togithub.com/Takashiidobe)` in [https://github.com/rust-lang/libc/pull/3496](https://togithub.com/rust-lang/libc/pull/3496) - apple adding tcp_connection_info struct by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3482](https://togithub.com/rust-lang/libc/pull/3482) - Improve the version parser of Emscripten by [`@​kleisauke](https://togithub.com/kleisauke)` in [https://github.com/rust-lang/libc/pull/3498](https://togithub.com/rust-lang/libc/pull/3498) - Add constants from \<include/linux/sched.h> by [`@​GuillaumeGomez](https://togithub.com/GuillaumeGomez)` in [https://github.com/rust-lang/libc/pull/3505](https://togithub.com/rust-lang/libc/pull/3505) - Define `TFD_TIMER_*` constants on FreeBSD. by [`@​sunfishcode](https://togithub.com/sunfishcode)` in [https://github.com/rust-lang/libc/pull/3506](https://togithub.com/rust-lang/libc/pull/3506) - Add support for posix_spawn on OpenBSD by [`@​nuudlman](https://togithub.com/nuudlman)` in [https://github.com/rust-lang/libc/pull/3502](https://togithub.com/rust-lang/libc/pull/3502) - clock_nanosleep for dragonflybsd, moving constants freebsd only too. by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3509](https://togithub.com/rust-lang/libc/pull/3509) - solarish add fcntl's O_DIRECT constant. by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3503](https://togithub.com/rust-lang/libc/pull/3503) - Unpin cc dependency version by [`@​JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3511](https://togithub.com/rust-lang/libc/pull/3511) - redox: add openpty, login_tty, TIOCSCTTY, and organize functions by [`@​jackpot51](https://togithub.com/jackpot51)` in [https://github.com/rust-lang/libc/pull/3512](https://togithub.com/rust-lang/libc/pull/3512) - Move all seccomp consts and structs into top-level mod by [`@​boustrophedon](https://togithub.com/boustrophedon)` in [https://github.com/rust-lang/libc/pull/3343](https://togithub.com/rust-lang/libc/pull/3343) - freebsd 15 support proposal. by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3508](https://togithub.com/rust-lang/libc/pull/3508) - Prepare workflow for merge queue by [`@​JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3514](https://togithub.com/rust-lang/libc/pull/3514) - Allow dead_code on `clockid_t` by [`@​JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3516](https://togithub.com/rust-lang/libc/pull/3516) - Add more items from `include/linux/sched.h` header by [`@​GuillaumeGomez](https://togithub.com/GuillaumeGomez)` in [https://github.com/rust-lang/libc/pull/3515](https://togithub.com/rust-lang/libc/pull/3515) - fix typo by [`@​shuoer86](https://togithub.com/shuoer86)` in [https://github.com/rust-lang/libc/pull/3517](https://togithub.com/rust-lang/libc/pull/3517) - Add sigsuspend to more targets: bsd, haiku, and solarish by [`@​asomers](https://togithub.com/asomers)` in [https://github.com/rust-lang/libc/pull/3518](https://togithub.com/rust-lang/libc/pull/3518) - Tweak libc-0.2 CI by [`@​JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3519](https://togithub.com/rust-lang/libc/pull/3519) - fuchsia adding pthread_set/getname_np by [`@​devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3520](https://togithub.com/rust-lang/libc/pull/3520) - Prepare docs for libc v0.3 by [`@​JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3510](https://togithub.com/rust-lang/libc/pull/3510) - Merge main into libc-0.2 by [`@​JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3521](https://togithub.com/rust-lang/libc/pull/3521) - Prepare release for v0.2.152 by [`@​JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3522](https://togithub.com/rust-lang/libc/pull/3522) #### New Contributors - [`@​Takashiidobe](https://togithub.com/Takashiidobe)` made their first contribution in [https://github.com/rust-lang/libc/pull/3496](https://togithub.com/rust-lang/libc/pull/3496) - [`@​nuudlman](https://togithub.com/nuudlman)` made their first contribution in [https://github.com/rust-lang/libc/pull/3502](https://togithub.com/rust-lang/libc/pull/3502) - [`@​boustrophedon](https://togithub.com/boustrophedon)` made their first contribution in [https://github.com/rust-lang/libc/pull/3343](https://togithub.com/rust-lang/libc/pull/3343) - [`@​shuoer86](https://togithub.com/shuoer86)` made their first contribution in [https://github.com/rust-lang/libc/pull/3517](https://togithub.com/rust-lang/libc/pull/3517) **Full Changelog**: rust-lang/libc@0.2.151...0.2.152 </details> <details> <summary>rust-lang/pkg-config-rs (pkg-config)</summary> ### [`v0.3.29`](https://togithub.com/rust-lang/pkg-config-rs/blob/HEAD/CHANGELOG.md#0329---2024-01-17) [Compare Source](https://togithub.com/rust-lang/pkg-config-rs/compare/0.3.28...0.3.29) ##### Fixed - Detection and usage of Windows static libraries ([#​154](https://togithub.com/rust-lang/pkg-config-rs/issues/154)). - Passing `-Wl,-u` to the linker if specified in the pkg-config file ([#​154](https://togithub.com/rust-lang/pkg-config-rs/issues/154)). </details> <details> <summary>rust-lang/regex (regex)</summary> ### [`v1.10.3`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1103-2024-01-21) [Compare Source](https://togithub.com/rust-lang/regex/compare/1.10.2...1.10.3) \=================== This is a new patch release that fixes the feature configuration of optional dependencies, and fixes an unsound use of bounds check elision. Bug fixes: - [BUG #​1147](https://togithub.com/rust-lang/regex/issues/1147): Set `default-features=false` for the `memchr` and `aho-corasick` dependencies. - [BUG #​1154](https://togithub.com/rust-lang/regex/pull/1154): Fix unsound bounds check elision. </details> <details> <summary>dtolnay/semver (semver)</summary> ### [`v1.0.21`](https://togithub.com/dtolnay/semver/releases/tag/1.0.21) [Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.20...1.0.21) - Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache </details> <details> <summary>serde-rs/serde (serde)</summary> ### [`v1.0.196`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.196) [Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.195...v1.0.196) - Improve formatting of "invalid type" error messages involving floats ([#​2682](https://togithub.com/serde-rs/serde/issues/2682)) ### [`v1.0.195`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.195) [Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.194...v1.0.195) - Prevent remote definitions of tuple struct or tuple variant from triggering dead_code warning ([#​2671](https://togithub.com/serde-rs/serde/issues/2671)) </details> <details> <summary>dtolnay/serde-untagged (serde-untagged)</summary> ### [`v0.1.5`](https://togithub.com/dtolnay/serde-untagged/releases/tag/0.1.5) [Compare Source](https://togithub.com/dtolnay/serde-untagged/compare/0.1.4...0.1.5) - Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache </details> <details> <summary>dtolnay/serde-ignored (serde_ignored)</summary> ### [`v0.1.10`](https://togithub.com/dtolnay/serde-ignored/releases/tag/0.1.10) [Compare Source](https://togithub.com/dtolnay/serde-ignored/compare/0.1.9...0.1.10) - Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache </details> <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.113`](https://togithub.com/serde-rs/json/releases/tag/v1.0.113) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.112...v1.0.113) - Add `swap_remove` and `shift_remove` methods on Map ([#​1109](https://togithub.com/serde-rs/json/issues/1109)) ### [`v1.0.112`](https://togithub.com/serde-rs/json/releases/tag/v1.0.112) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.111...v1.0.112) - Improve formatting of "invalid type" error messages involving floats ([#​1107](https://togithub.com/serde-rs/json/issues/1107)) ### [`v1.0.111`](https://togithub.com/serde-rs/json/releases/tag/v1.0.111) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.110...v1.0.111) - Improve floating point parsing performance on loongarch64 ([#​1100](https://togithub.com/serde-rs/json/issues/1100), thanks [`@​heiher](https://togithub.com/heiher))` </details> <details> <summary>assert-rs/trycmd (snapbox)</summary> ### [`v0.4.16`](https://togithub.com/assert-rs/trycmd/compare/snapbox-v0.4.15...snapbox-v0.4.16) [Compare Source](https://togithub.com/assert-rs/trycmd/compare/snapbox-v0.4.15...snapbox-v0.4.16) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
Now that rust-lang/libc/pull/3343 is merged and released, switch to using libc's constants. SECCOMP_RET_MASK does not exist anymore and appears to have not existed for a while. SECCOMP_RET_DATA is exactly the same mask value, and the usage here is in line with the man page. Fixes rust-vmm#60
Use libc constants now that rust-lang/libc/pull/3343 is merged and released. SECCOMP_RET_MASK does not exist anymore and appears to have not existed for a while. SECCOMP_RET_DATA is exactly the same mask value, and the usage here is in line with the man page. Completes rust-vmm#60 Signed-off-by: Harry Stern <[email protected]>
Use libc constants now that rust-lang/libc/pull/3343 is merged and released. SECCOMP_RET_MASK does not exist anymore and appears to have not existed for a while. SECCOMP_RET_DATA is exactly the same mask value, and the usage here is in line with the man page. Completes rust-vmm#60 Signed-off-by: Harry Stern <[email protected]>
Use libc constants now that rust-lang/libc/pull/3343 is merged and released. SECCOMP_RET_MASK does not exist anymore and appears to have not existed for a while. SECCOMP_RET_DATA is exactly the same mask value, and the usage here is in line with the man page. Completes #60 Signed-off-by: Harry Stern <[email protected]>
Move all seccomp consts and structs into top-level mod
Seccomp constants and structs were partially defined in the top-level mod.rs for linux and partially outside. This commit moves everything into the top-level mod and adds missing entries as of linux 6.4.12.
Resolves #3342 and rust-vmm/seccompiler#57
I couldn't get main to run libc-test cargo test (even without my changes) with either gcc 13.2.1 or clang 16.0.6. They failed with different errors/warnings.