mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-28 04:03:23 -04:00
rust_binder: use pin_init::zeroed for file_operations initialization
All types in `bindings` implement `Zeroable` if they can. This enables
using `pin_init::zeroed()` for `file_operations` initialization instead
of relying on `unsafe { core::mem::MaybeUninit::zeroed().assume_init() }`.
This change improves readability and removes an unnecessary unsafe
block.
Link: https://github.com/Rust-for-Linux/linux/issues/1189
Suggested-by: Benno Lossin <lossin@kernel.org>
Signed-off-by: Nicolás Antinori <nico.antinori.7@gmail.com>
Link: https://patch.msgid.link/20260702205803.552476-1-nico.antinori.7@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4b17dfb3e2
commit
5d577fa6fe
@@ -324,9 +324,6 @@ unsafe impl<T> Sync for AssertSync<T> {}
|
||||
#[no_mangle]
|
||||
#[used]
|
||||
pub static rust_binder_fops: AssertSync<kernel::bindings::file_operations> = {
|
||||
// SAFETY: All zeroes is safe for the `file_operations` type.
|
||||
let zeroed_ops = unsafe { core::mem::MaybeUninit::zeroed().assume_init() };
|
||||
|
||||
let ops = kernel::bindings::file_operations {
|
||||
owner: THIS_MODULE.as_ptr(),
|
||||
poll: Some(rust_binder_poll),
|
||||
@@ -336,7 +333,7 @@ unsafe impl<T> Sync for AssertSync<T> {}
|
||||
open: Some(rust_binder_open),
|
||||
release: Some(rust_binder_release),
|
||||
flush: Some(rust_binder_flush),
|
||||
..zeroed_ops
|
||||
..pin_init::zeroed()
|
||||
};
|
||||
AssertSync(ops)
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user