-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
also handle ENOTTY ioctl errors when checking pidfd -> pid support #151072
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
Conversation
|
FYI @zmodem |
This comment has been minimized.
This comment has been minimized.
Otherwise the std testsuite fails on older kernels.
38e9b0c to
5435e81
Compare
| match pidfd.as_inner().pid() { | ||
| Ok(pid) => assert_eq!(pid, id), | ||
| Err(e) if e.kind() == ErrorKind::InvalidInput => { /* older kernel */ } | ||
| Err(e) if matches!(e.raw_os_error(), Some(libc::EINVAL | libc::ENOTTY)) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does libc::EINVAL | libc::ENOTTY do the right thing here? Doesn't it bitwise OR these, so it would also cover some values in between?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that macro takes a pattern, so this is an OR-pattern match, not a value.
|
While I'm not super familiar with this, it's a test, so I think it's reasonable to trust your expertise here :) @bors r+ rollup |
also handle ENOTTY ioctl errors when checking pidfd -> pid support Otherwise the std testsuite fails on older kernels. Reported in rust-lang#150412 (comment)
…uwer Rollup of 12 pull requests Successful merges: - #149408 (refactor: remove Ord bound from BinaryHeap::new etc) - #150406 (Change some `matches!(.., .. if ..)` with let-chains) - #150723 (std: move `errno` and related functions into `sys::io`) - #150877 (resolve: Refactor away the side table `decl_parent_modules`) - #150902 (Update to_uppercase docs to avoid ß->SS example) - #150962 (Remove `FeedConstTy` and provide ty when lowering const arg) - #151034 (std: Change UEFI env vars to volatile storage) - #151036 (Better handle when trying to iterate on a `Range` of a type that isn't `Step`) - #151067 (Avoid should-fail in two ui tests and a codegen-llvm test) - #151072 (also handle ENOTTY ioctl errors when checking pidfd -> pid support) - #151077 (Recognize potential `impl<const N: usize>` to `impl<N>` mistake) - #151096 (Remove `Deref`/`DerefMut` impl for `Providers`.) Failed merges: - #150939 (resolve: Relax some asserts in glob overwriting and add tests) r? @ghost
…uwer Rollup of 11 pull requests Successful merges: - #149408 (refactor: remove Ord bound from BinaryHeap::new etc) - #150406 (Change some `matches!(.., .. if ..)` with let-chains) - #150723 (std: move `errno` and related functions into `sys::io`) - #150877 (resolve: Refactor away the side table `decl_parent_modules`) - #150902 (Update to_uppercase docs to avoid ß->SS example) - #151034 (std: Change UEFI env vars to volatile storage) - #151036 (Better handle when trying to iterate on a `Range` of a type that isn't `Step`) - #151067 (Avoid should-fail in two ui tests and a codegen-llvm test) - #151072 (also handle ENOTTY ioctl errors when checking pidfd -> pid support) - #151077 (Recognize potential `impl<const N: usize>` to `impl<N>` mistake) - #151096 (Remove `Deref`/`DerefMut` impl for `Providers`.) Failed merges: - #150939 (resolve: Relax some asserts in glob overwriting and add tests) r? @ghost
Rollup merge of #151072 - fix-pidfd-ioctl, r=jhpratt also handle ENOTTY ioctl errors when checking pidfd -> pid support Otherwise the std testsuite fails on older kernels. Reported in #150412 (comment)
…uwer Rollup of 11 pull requests Successful merges: - rust-lang/rust#149408 (refactor: remove Ord bound from BinaryHeap::new etc) - rust-lang/rust#150406 (Change some `matches!(.., .. if ..)` with let-chains) - rust-lang/rust#150723 (std: move `errno` and related functions into `sys::io`) - rust-lang/rust#150877 (resolve: Refactor away the side table `decl_parent_modules`) - rust-lang/rust#150902 (Update to_uppercase docs to avoid ß->SS example) - rust-lang/rust#151034 (std: Change UEFI env vars to volatile storage) - rust-lang/rust#151036 (Better handle when trying to iterate on a `Range` of a type that isn't `Step`) - rust-lang/rust#151067 (Avoid should-fail in two ui tests and a codegen-llvm test) - rust-lang/rust#151072 (also handle ENOTTY ioctl errors when checking pidfd -> pid support) - rust-lang/rust#151077 (Recognize potential `impl<const N: usize>` to `impl<N>` mistake) - rust-lang/rust#151096 (Remove `Deref`/`DerefMut` impl for `Providers`.) Failed merges: - rust-lang/rust#150939 (resolve: Relax some asserts in glob overwriting and add tests) r? @ghost
Otherwise the std testsuite fails on older kernels.
Reported in #150412 (comment)