diff options
| author | Nicolás Antinori <nico.antinori.7@gmail.com> | 2026-07-02 17:58:00 -0300 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-07-17 15:24:02 +0200 |
| commit | 5d577fa6feaf2ef02751fc4a89fc9a695aa0f6b2 (patch) | |
| tree | 3512f0e46d9dbe7fd5a3498e0c605c55ff9782bd | |
| parent | 4b17dfb3e22fdccf74839d2fc52362ddc257024e (diff) | |
| download | linux-5d577fa6feaf2ef02751fc4a89fc9a695aa0f6b2.tar.gz linux-5d577fa6feaf2ef02751fc4a89fc9a695aa0f6b2.zip | |
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>
| -rw-r--r-- | drivers/android/binder/rust_binder_main.rs | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/android/binder/rust_binder_main.rs b/drivers/android/binder/rust_binder_main.rs index 9e6cda960722..e6805bc06f43 100644 --- a/drivers/android/binder/rust_binder_main.rs +++ b/drivers/android/binder/rust_binder_main.rs @@ -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 @@ pub static rust_binder_fops: AssertSync<kernel::bindings::file_operations> = { open: Some(rust_binder_open), release: Some(rust_binder_release), flush: Some(rust_binder_flush), - ..zeroed_ops + ..pin_init::zeroed() }; AssertSync(ops) }; |
