rust/kernel/init.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Starting with Rust 1.86.0 (currently in nightly, to be released on
2025-04-03), the `missing_abi` lint is warn-by-default [1]:
error: extern declarations without an explicit ABI are deprecated
--> rust/doctests_kernel_generated.rs:3158:1
|
3158 | extern {
| ^^^^^^ help: explicitly specify the C ABI: `extern "C"`
|
= note: `-D missing-abi` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(missing_abi)]`
Thus clean it up.
Link: https://github.com/rust-lang/rust/pull/132397 [1]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
rust/kernel/init.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rust/kernel/init.rs b/rust/kernel/init.rs
index 347049df556b..c962029f96e1 100644
--- a/rust/kernel/init.rs
+++ b/rust/kernel/init.rs
@@ -854,7 +854,7 @@ pub unsafe trait PinInit<T: ?Sized, E = Infallible>: Sized {
/// use kernel::{types::Opaque, init::pin_init_from_closure};
/// #[repr(C)]
/// struct RawFoo([u8; 16]);
- /// extern {
+ /// extern "C" {
/// fn init_foo(_: *mut RawFoo);
/// }
///
base-commit: 100ceb4817a2ac650e29f107cf97161ce3e2289a
--
2.48.1
On Tue, Jan 21, 2025 at 9:10 PM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> Starting with Rust 1.86.0 (currently in nightly, to be released on
> 2025-04-03), the `missing_abi` lint is warn-by-default [1]:
>
> error: extern declarations without an explicit ABI are deprecated
> --> rust/doctests_kernel_generated.rs:3158:1
> |
> 3158 | extern {
> | ^^^^^^ help: explicitly specify the C ABI: `extern "C"`
> |
> = note: `-D missing-abi` implied by `-D warnings`
> = help: to override `-D warnings` add `#[allow(missing_abi)]`
>
> Thus clean it up.
>
> Link: https://github.com/rust-lang/rust/pull/132397 [1]
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Applied to `rust-fixes` -- thanks everyone!
[ Added 6.13.y to Cc: stable tag. - Miguel ]
Cheers,
Miguel
On Tue, 21 Jan 2025 21:09:34 +0100
Miguel Ojeda <ojeda@kernel.org> wrote:
> Starting with Rust 1.86.0 (currently in nightly, to be released on
> 2025-04-03), the `missing_abi` lint is warn-by-default [1]:
>
> error: extern declarations without an explicit ABI are deprecated
> --> rust/doctests_kernel_generated.rs:3158:1
> |
> 3158 | extern {
> | ^^^^^^ help: explicitly specify the C ABI: `extern "C"`
> |
> = note: `-D missing-abi` implied by `-D warnings`
> = help: to override `-D warnings` add `#[allow(missing_abi)]`
>
> Thus clean it up.
>
> Link: https://github.com/rust-lang/rust/pull/132397 [1]
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Reviewed-by: Gary Guo <gary@garyguo.net>
> ---
> rust/kernel/init.rs | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/rust/kernel/init.rs b/rust/kernel/init.rs
> index 347049df556b..c962029f96e1 100644
> --- a/rust/kernel/init.rs
> +++ b/rust/kernel/init.rs
> @@ -854,7 +854,7 @@ pub unsafe trait PinInit<T: ?Sized, E = Infallible>: Sized {
> /// use kernel::{types::Opaque, init::pin_init_from_closure};
> /// #[repr(C)]
> /// struct RawFoo([u8; 16]);
> - /// extern {
> + /// extern "C" {
> /// fn init_foo(_: *mut RawFoo);
> /// }
> ///
>
> base-commit: 100ceb4817a2ac650e29f107cf97161ce3e2289a
On 21 Jan 2025, at 21:09, Miguel Ojeda wrote:
> Starting with Rust 1.86.0 (currently in nightly, to be released on
> 2025-04-03), the `missing_abi` lint is warn-by-default [1]:
>
> error: extern declarations without an explicit ABI are deprecated
> --> rust/doctests_kernel_generated.rs:3158:1
> |
> 3158 | extern {
> | ^^^^^^ help: explicitly specify the C ABI: `extern "C"`
> |
> = note: `-D missing-abi` implied by `-D warnings`
> = help: to override `-D warnings` add `#[allow(missing_abi)]`
>
> Thus clean it up.
>
> Link: https://github.com/rust-lang/rust/pull/132397 [1]
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Reviewed-by: Fiona Behrens <me@kloenk.dev>
> ---
> rust/kernel/init.rs | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/rust/kernel/init.rs b/rust/kernel/init.rs
> index 347049df556b..c962029f96e1 100644
> --- a/rust/kernel/init.rs
> +++ b/rust/kernel/init.rs
> @@ -854,7 +854,7 @@ pub unsafe trait PinInit<T: ?Sized, E = Infallible>: Sized {
> /// use kernel::{types::Opaque, init::pin_init_from_closure};
> /// #[repr(C)]
> /// struct RawFoo([u8; 16]);
> - /// extern {
> + /// extern "C" {
> /// fn init_foo(_: *mut RawFoo);
> /// }
> ///
>
> base-commit: 100ceb4817a2ac650e29f107cf97161ce3e2289a
> --
> 2.48.1
On Tue, Jan 21, 2025 at 9:10 PM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> Starting with Rust 1.86.0 (currently in nightly, to be released on
> 2025-04-03), the `missing_abi` lint is warn-by-default [1]:
>
> error: extern declarations without an explicit ABI are deprecated
> --> rust/doctests_kernel_generated.rs:3158:1
> |
> 3158 | extern {
> | ^^^^^^ help: explicitly specify the C ABI: `extern "C"`
> |
> = note: `-D missing-abi` implied by `-D warnings`
> = help: to override `-D warnings` add `#[allow(missing_abi)]`
>
> Thus clean it up.
>
> Link: https://github.com/rust-lang/rust/pull/132397 [1]
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
On Tue, Jan 21, 2025 at 9:10 PM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> Starting with Rust 1.86.0 (currently in nightly, to be released on
> 2025-04-03), the `missing_abi` lint is warn-by-default [1]:
>
> error: extern declarations without an explicit ABI are deprecated
> --> rust/doctests_kernel_generated.rs:3158:1
> |
> 3158 | extern {
> | ^^^^^^ help: explicitly specify the C ABI: `extern "C"`
> |
> = note: `-D missing-abi` implied by `-D warnings`
> = help: to override `-D warnings` add `#[allow(missing_abi)]`
>
> Thus clean it up.
>
> Link: https://github.com/rust-lang/rust/pull/132397 [1]
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Cc: <stable@vger.kernel.org> # Needed in 6.12.y only (Rust is pinned
in older LTSs).
And while there was nothing wrong back then with the commit, as usual:
Fixes: 7f8977a7fe6d ("rust: init: add `{pin_}chain` functions to
`{Pin}Init<T, E>`")
Cheers,
Miguel
© 2016 - 2026 Red Hat, Inc.