mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
rust: debugfs: use pin_init::zeroed() for file_operations
Replace unsafe core::mem::zeroed() with pin_init::zeroed() for file_operations initialization in all debugfs file operation implementations. Suggested-by: Benno Lossin <lossin@kernel.org> Signed-off-by: Ke Sun <sunke@kylinos.cn> Link: https://github.com/Rust-for-Linux/linux/issues/1189 Link: https://patch.msgid.link/20260120083824.477339-5-sunke@kylinos.cn Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
@@ -135,8 +135,7 @@ impl<T: Writer + Sync> ReadFile<T> for T {
|
||||
llseek: Some(bindings::seq_lseek),
|
||||
release: Some(bindings::single_release),
|
||||
open: Some(writer_open::<Self>),
|
||||
// SAFETY: `file_operations` supports zeroes in all fields.
|
||||
..unsafe { core::mem::zeroed() }
|
||||
..pin_init::zeroed()
|
||||
};
|
||||
// SAFETY: `operations` is all stock `seq_file` implementations except for `writer_open`.
|
||||
// `open`'s only requirement beyond what is provided to all open functions is that the
|
||||
@@ -188,8 +187,7 @@ impl<T: Writer + Reader + Sync> ReadWriteFile<T> for T {
|
||||
write: Some(write::<T>),
|
||||
llseek: Some(bindings::seq_lseek),
|
||||
release: Some(bindings::single_release),
|
||||
// SAFETY: `file_operations` supports zeroes in all fields.
|
||||
..unsafe { core::mem::zeroed() }
|
||||
..pin_init::zeroed()
|
||||
};
|
||||
// SAFETY: `operations` is all stock `seq_file` implementations except for `writer_open`
|
||||
// and `write`.
|
||||
@@ -244,8 +242,7 @@ impl<T: Reader + Sync> WriteFile<T> for T {
|
||||
open: Some(write_only_open),
|
||||
write: Some(write_only_write::<T>),
|
||||
llseek: Some(bindings::noop_llseek),
|
||||
// SAFETY: `file_operations` supports zeroes in all fields.
|
||||
..unsafe { core::mem::zeroed() }
|
||||
..pin_init::zeroed()
|
||||
};
|
||||
// SAFETY:
|
||||
// * `write_only_open` populates the file private data with the inode private data
|
||||
@@ -297,8 +294,7 @@ impl<T: BinaryWriter + Sync> BinaryReadFile<T> for T {
|
||||
read: Some(blob_read::<T>),
|
||||
llseek: Some(bindings::default_llseek),
|
||||
open: Some(bindings::simple_open),
|
||||
// SAFETY: `file_operations` supports zeroes in all fields.
|
||||
..unsafe { core::mem::zeroed() }
|
||||
..pin_init::zeroed()
|
||||
};
|
||||
|
||||
// SAFETY:
|
||||
@@ -352,8 +348,7 @@ impl<T: BinaryReader + Sync> BinaryWriteFile<T> for T {
|
||||
write: Some(blob_write::<T>),
|
||||
llseek: Some(bindings::default_llseek),
|
||||
open: Some(bindings::simple_open),
|
||||
// SAFETY: `file_operations` supports zeroes in all fields.
|
||||
..unsafe { core::mem::zeroed() }
|
||||
..pin_init::zeroed()
|
||||
};
|
||||
|
||||
// SAFETY:
|
||||
@@ -378,8 +373,7 @@ impl<T: BinaryWriter + BinaryReader + Sync> BinaryReadWriteFile<T> for T {
|
||||
write: Some(blob_write::<T>),
|
||||
llseek: Some(bindings::default_llseek),
|
||||
open: Some(bindings::simple_open),
|
||||
// SAFETY: `file_operations` supports zeroes in all fields.
|
||||
..unsafe { core::mem::zeroed() }
|
||||
..pin_init::zeroed()
|
||||
};
|
||||
|
||||
// SAFETY:
|
||||
|
||||
Reference in New Issue
Block a user