[PATCH v2] rust: acpi: replace manual zero-initialization with `pin_init::zeroed()`

Atharv Dubey posted 1 patch 2 months, 1 week ago
rust/kernel/acpi.rs | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
[PATCH v2] rust: acpi: replace manual zero-initialization with `pin_init::zeroed()`
Posted by Atharv Dubey 2 months, 1 week ago
Use `pin_init::zeroed()` instead of `core::mem::zeroed()` for initializing
`acpi_device_id`. This removes an explicit unsafe block and aligns ACPI
initialization with the pin-init conversion used across the Rust tree.

Link: https://github.com/Rust-for-Linux/linux/issues/1189
Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
---
 rust/kernel/acpi.rs | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/rust/kernel/acpi.rs b/rust/kernel/acpi.rs
index 37e1161c1298..cc98b36b90a0 100644
--- a/rust/kernel/acpi.rs
+++ b/rust/kernel/acpi.rs
@@ -40,8 +40,7 @@ pub const fn new(id: &'static CStr) -> Self {
         let src = id.to_bytes_with_nul();
         build_assert!(src.len() <= Self::ACPI_ID_LEN, "ID exceeds 16 bytes");
         // Replace with `bindings::acpi_device_id::default()` once stabilized for `const`.
-        // SAFETY: FFI type is valid to be zero-initialized.
-        let mut acpi: bindings::acpi_device_id = unsafe { core::mem::zeroed() };
+        let mut acpi: bindings::acpi_device_id = pin_init::zeroed();
         let mut i = 0;
         while i < src.len() {
             acpi.id[i] = src[i];
-- 
2.43.0
Re: [PATCH v2] rust: acpi: replace manual zero-initialization with `pin_init::zeroed()`
Posted by Rafael J. Wysocki 4 weeks, 1 day ago
On Mon, Dec 1, 2025 at 4:52 PM Atharv Dubey <atharvd440@gmail.com> wrote:
>
> Use `pin_init::zeroed()` instead of `core::mem::zeroed()` for initializing
> `acpi_device_id`. This removes an explicit unsafe block and aligns ACPI
> initialization with the pin-init conversion used across the Rust tree.
>
> Link: https://github.com/Rust-for-Linux/linux/issues/1189
> Signed-off-by: Atharv Dubey <atharvd440@gmail.com>

A Rust-side ACK or equivalent would be welcome.

> ---
>  rust/kernel/acpi.rs | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/rust/kernel/acpi.rs b/rust/kernel/acpi.rs
> index 37e1161c1298..cc98b36b90a0 100644
> --- a/rust/kernel/acpi.rs
> +++ b/rust/kernel/acpi.rs
> @@ -40,8 +40,7 @@ pub const fn new(id: &'static CStr) -> Self {
>          let src = id.to_bytes_with_nul();
>          build_assert!(src.len() <= Self::ACPI_ID_LEN, "ID exceeds 16 bytes");
>          // Replace with `bindings::acpi_device_id::default()` once stabilized for `const`.
> -        // SAFETY: FFI type is valid to be zero-initialized.
> -        let mut acpi: bindings::acpi_device_id = unsafe { core::mem::zeroed() };
> +        let mut acpi: bindings::acpi_device_id = pin_init::zeroed();
>          let mut i = 0;
>          while i < src.len() {
>              acpi.id[i] = src[i];
> --
> 2.43.0
>
Re: [PATCH v2] rust: acpi: replace manual zero-initialization with `pin_init::zeroed()`
Posted by Miguel Ojeda 4 weeks, 1 day ago
On Thu, Jan 8, 2026 at 3:00 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> A Rust-side ACK or equivalent would be welcome.

Acked-by: Miguel Ojeda <ojeda@kernel.org>

Cheers,
Miguel
Re: [PATCH v2] rust: acpi: replace manual zero-initialization with `pin_init::zeroed()`
Posted by Alice Ryhl 4 weeks, 1 day ago
On Thu, Jan 8, 2026 at 3:00 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Mon, Dec 1, 2025 at 4:52 PM Atharv Dubey <atharvd440@gmail.com> wrote:
> >
> > Use `pin_init::zeroed()` instead of `core::mem::zeroed()` for initializing
> > `acpi_device_id`. This removes an explicit unsafe block and aligns ACPI
> > initialization with the pin-init conversion used across the Rust tree.
> >
> > Link: https://github.com/Rust-for-Linux/linux/issues/1189
> > Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
>
> A Rust-side ACK or equivalent would be welcome.

Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Re: [PATCH v2] rust: acpi: replace manual zero-initialization with `pin_init::zeroed()`
Posted by Danilo Krummrich 4 weeks, 1 day ago
On 1/8/26 3:00 PM, Rafael J. Wysocki wrote:
> On Mon, Dec 1, 2025 at 4:52 PM Atharv Dubey <atharvd440@gmail.com> wrote:
>>
>> Use `pin_init::zeroed()` instead of `core::mem::zeroed()` for initializing
>> `acpi_device_id`. This removes an explicit unsafe block and aligns ACPI
>> initialization with the pin-init conversion used across the Rust tree.
>>
>> Link: https://github.com/Rust-for-Linux/linux/issues/1189
>> Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
> 
> A Rust-side ACK or equivalent would be welcome.

Reviewed-by: Danilo Krummrich <dakr@kernel.org>