rust/kernel/auxiliary.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
Replace the previous `unsafe { core::mem::zeroed() }` initialization
for `bindings::auxillary_device_id` with `pin_init::zeroed()`. This removes
the explicit unsafe block and uses the safer pinned zero-initialization
helper.
Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
---
rust/kernel/auxiliary.rs | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/rust/kernel/auxiliary.rs b/rust/kernel/auxiliary.rs
index 7a3b0b9c418e..67c5d356d754 100644
--- a/rust/kernel/auxiliary.rs
+++ b/rust/kernel/auxiliary.rs
@@ -108,11 +108,7 @@ pub const fn new(modname: &'static CStr, name: &'static CStr) -> Self {
let name = name.to_bytes_with_nul();
let modname = modname.to_bytes_with_nul();
- // TODO: Replace with `bindings::auxiliary_device_id::default()` once stabilized for
- // `const`.
- //
- // SAFETY: FFI type is valid to be zero-initialized.
- let mut id: bindings::auxiliary_device_id = unsafe { core::mem::zeroed() };
+ let mut id: bindings::auxiliary_device_id = pin_init::zeroed();
let mut i = 0;
while i < modname.len() {
--
2.43.0
On Sat Nov 29, 2025 at 1:47 PM CET, Atharv Dubey wrote:
> Replace the previous `unsafe { core::mem::zeroed() }` initialization
> for `bindings::auxillary_device_id` with `pin_init::zeroed()`. This removes
> the explicit unsafe block and uses the safer pinned zero-initialization
> helper.
>
> Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
Applied to driver-core-testing, thanks!
On Sat, Nov 29, 2025 at 1:47 PM Atharv Dubey <atharvd440@gmail.com> wrote:
>
> Replace the previous `unsafe { core::mem::zeroed() }` initialization
> for `bindings::auxillary_device_id` with `pin_init::zeroed()`. This removes
> the explicit unsafe block and uses the safer pinned zero-initialization
> helper.
>
> Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
These were also sent by Benno, and in the issue he mentions
"re-sending", which usually means just adding your Signed-off-by below
his:
https://lore.kernel.org/all/20250814093046.2071971-1-lossin@kernel.org/
But he also mentioned the Suggested-by tag etc., so it is probably OK
to keep authorship and add:
Suggested-by: Benno Lossin <lossin@kernel.org>
Link: https://github.com/Rust-for-Linux/linux/issues/1189
Cheers,
Miguel
On Sat Nov 29, 2025 at 9:47 PM JST, Atharv Dubey wrote:
> Replace the previous `unsafe { core::mem::zeroed() }` initialization
> for `bindings::auxillary_device_id` with `pin_init::zeroed()`. This removes
> the explicit unsafe block and uses the safer pinned zero-initialization
> helper.
>
> Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
> ---
> rust/kernel/auxiliary.rs | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/rust/kernel/auxiliary.rs b/rust/kernel/auxiliary.rs
> index 7a3b0b9c418e..67c5d356d754 100644
> --- a/rust/kernel/auxiliary.rs
> +++ b/rust/kernel/auxiliary.rs
> @@ -108,11 +108,7 @@ pub const fn new(modname: &'static CStr, name: &'static CStr) -> Self {
> let name = name.to_bytes_with_nul();
> let modname = modname.to_bytes_with_nul();
>
> - // TODO: Replace with `bindings::auxiliary_device_id::default()` once stabilized for
> - // `const`.
I'd still keep this `TODO`, a `Default` implementation is more adequate
that `Zeroable` here even if they end up doing the same.
Nitpicky: there are two spaces in `for device` in the patch subject.
On Mon Dec 1, 2025 at 12:34 PM JST, Alexandre Courbot wrote:
> On Sat Nov 29, 2025 at 9:47 PM JST, Atharv Dubey wrote:
>> Replace the previous `unsafe { core::mem::zeroed() }` initialization
>> for `bindings::auxillary_device_id` with `pin_init::zeroed()`. This removes
>> the explicit unsafe block and uses the safer pinned zero-initialization
>> helper.
>>
>> Signed-off-by: Atharv Dubey <atharvd440@gmail.com>
>> ---
>> rust/kernel/auxiliary.rs | 6 +-----
>> 1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/rust/kernel/auxiliary.rs b/rust/kernel/auxiliary.rs
>> index 7a3b0b9c418e..67c5d356d754 100644
>> --- a/rust/kernel/auxiliary.rs
>> +++ b/rust/kernel/auxiliary.rs
>> @@ -108,11 +108,7 @@ pub const fn new(modname: &'static CStr, name: &'static CStr) -> Self {
>> let name = name.to_bytes_with_nul();
>> let modname = modname.to_bytes_with_nul();
>>
>> - // TODO: Replace with `bindings::auxiliary_device_id::default()` once stabilized for
>> - // `const`.
>
> I'd still keep this `TODO`, a `Default` implementation is more adequate
> that `Zeroable` here even if they end up doing the same.
... or maybe not, after all if a type implements `Zeroable` this means
that all zeroes is a valid initial value for it. Let's see what others
think about this.
© 2016 - 2026 Red Hat, Inc.