rust: auxiliary: use `pin_init::zeroed()` for device ID
Subsystems (2)
PATCH 1/1 rust: auxiliary: use `pin_init::zeroed()` for device ID
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.
--- rust/kernel/auxiliary.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
rust/kernel/auxiliary.rs +1 -5
@@ -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 () {
Signature · 1 line
2.43.0
Alexandre Courbot
reviewerQuoted 15 lines · Atharv Dubey
Replace the previous
unsafe { core::mem::zeroed() }initialization forbindings::auxillary_device_idwithpin_init::zeroed(). This removes the explicit unsafe block and uses the safer pinned zero-initialization helper.Signed-off-by Atharv Dubey <[email protected]>--- rust/kernel/auxiliary.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)rust/kernel/auxiliary.rs +0
-0
rust/kernel/auxiliary.rs pub const fn new(modname: &'static CStr, name: &'static CStr) -> Self { · line 112
Quoted 5 lines
rust/kernel/auxiliary.rs +0
-2@@ -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.
Alexandre Courbot
reviewerQuoted 19 lines · Alexandre Courbot
Quoted 18 lines · Atharv Dubey
Replace the previous
unsafe { core::mem::zeroed() }initialization forbindings::auxillary_device_idwithpin_init::zeroed(). This removes the explicit unsafe block and uses the safer pinned zero-initialization helper.Signed-off-by Atharv Dubey <[email protected]>--- rust/kernel/auxiliary.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)rust/kernel/auxiliary.rs +0
-0@@ -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 ();
Quoted 5 lines
rust/kernel/auxiliary.rs pub const fn new(modname: &'static CStr, name: &'static CStr) -> Self { · line 112
Quoted 2 lines
rust/kernel/auxiliary.rs +0
-2-// TODO: Replace with `bindings::auxiliary_device_id::default()` once stabilized for -// `const`. I'd still keep this
TODO, aDefaultimplementation is more adequate thatZeroablehere 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.
Quoted 7 lines · Atharv Dubey
Replace the previous
unsafe { core::mem::zeroed() }initialization forbindings::auxillary_device_idwithpin_init::zeroed(). This removes the explicit unsafe block and uses the safer pinned zero-initialization helper.Signed-off-by Atharv Dubey <[email protected]>
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/[email protected]/
But he also mentioned the Suggested-by tag etc., so it is probably OK to keep authorship and add:
Cheers,
Miguel
Danilo Krummrich
maintainerQuoted 6 lines · Atharv Dubey
Replace the previous
unsafe { core::mem::zeroed() }initialization forbindings::auxillary_device_idwithpin_init::zeroed(). This removes the explicit unsafe block and uses the safer pinned zero-initialization helper.Signed-off-by Atharv Dubey <[email protected]>
Applied to driver-core-testing, thanks!