mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-28 16:53:49 +00:00
rust: miscdevice: add missing safety comments
This fixes the following four warnings: warning: unsafe block missing a safety comment --> /home/aliceryhl/rust-for-linux/rust/kernel/miscdevice.rs:168:15 | 168 | ..unsafe { MaybeUninit::zeroed().assume_init() } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider adding a safety comment on the preceding line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#undocumented_unsafe_blocks = note: requested on the command line with `-W clippy::undocumented-unsafe-blocks` warning: unsafe function's docs are missing a `# Safety` section --> /home/aliceryhl/rust-for-linux/rust/kernel/miscdevice.rs:175:1 | 175 | / unsafe extern "C" fn fops_open<T: MiscDevice>( 176 | | inode: *mut bindings::inode, 177 | | file: *mut bindings::file, 178 | | ) -> c_int { | |__________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc = note: `-W clippy::missing-safety-doc` implied by `-W clippy::all` = help: to override `-W clippy::all` add `#[allow(clippy::missing_safety_doc)]` warning: unsafe function's docs are missing a `# Safety` section --> /home/aliceryhl/rust-for-linux/rust/kernel/miscdevice.rs:196:1 | 196 | / unsafe extern "C" fn fops_release<T: MiscDevice>( 197 | | _inode: *mut bindings::inode, 198 | | file: *mut bindings::file, 199 | | ) -> c_int { | |__________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc warning: unsafe function's docs are missing a `# Safety` section --> /home/aliceryhl/rust-for-linux/rust/kernel/miscdevice.rs:210:1 | 210 | / unsafe extern "C" fn fops_ioctl<T: MiscDevice>( 211 | | file: *mut bindings::file, 212 | | cmd: c_uint, 213 | | arg: c_ulong, 214 | | ) -> c_long { | |___________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc Note that these warnings are currently not enabled in the build, but rust-next contains a commit that will enable them, so we should fix them. Reported-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Alice Ryhl <aliceryhl@google.com> Closes: https://lore.kernel.org/rust-for-linux/CANiq72kOs6vPDUzZttQNqePFHphCQ30iVmZ5MO7eCJfPG==Vzg@mail.gmail.com/ Acked-by: Miguel Ojeda <ojeda@kernel.org> Link: https://lore.kernel.org/r/20241022-miscdevice-unsafe-warn-fix-v1-1-a78fde1740d6@google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d723c456ef
commit
bd5ee6bcc5
@ -165,6 +165,7 @@ impl<T: MiscDevice> VtableHelper<T> {
|
||||
} else {
|
||||
None
|
||||
},
|
||||
// SAFETY: All zeros is a valid value for `bindings::file_operations`.
|
||||
..unsafe { MaybeUninit::zeroed().assume_init() }
|
||||
};
|
||||
}
|
||||
@ -172,6 +173,10 @@ impl<T: MiscDevice> VtableHelper<T> {
|
||||
&VtableHelper::<T>::VTABLE
|
||||
}
|
||||
|
||||
/// # Safety
|
||||
///
|
||||
/// `file` and `inode` must be the file and inode for a file that is undergoing initialization.
|
||||
/// The file must be associated with a `MiscDeviceRegistration<T>`.
|
||||
unsafe extern "C" fn fops_open<T: MiscDevice>(
|
||||
inode: *mut bindings::inode,
|
||||
file: *mut bindings::file,
|
||||
@ -193,6 +198,10 @@ impl<T: MiscDevice> VtableHelper<T> {
|
||||
0
|
||||
}
|
||||
|
||||
/// # Safety
|
||||
///
|
||||
/// `file` and `inode` must be the file and inode for a file that is being released. The file must
|
||||
/// be associated with a `MiscDeviceRegistration<T>`.
|
||||
unsafe extern "C" fn fops_release<T: MiscDevice>(
|
||||
_inode: *mut bindings::inode,
|
||||
file: *mut bindings::file,
|
||||
@ -207,6 +216,9 @@ impl<T: MiscDevice> VtableHelper<T> {
|
||||
0
|
||||
}
|
||||
|
||||
/// # Safety
|
||||
///
|
||||
/// `file` must be a valid file that is associated with a `MiscDeviceRegistration<T>`.
|
||||
unsafe extern "C" fn fops_ioctl<T: MiscDevice>(
|
||||
file: *mut bindings::file,
|
||||
cmd: c_uint,
|
||||
@ -223,6 +235,9 @@ impl<T: MiscDevice> VtableHelper<T> {
|
||||
}
|
||||
}
|
||||
|
||||
/// # Safety
|
||||
///
|
||||
/// `file` must be a valid file that is associated with a `MiscDeviceRegistration<T>`.
|
||||
#[cfg(CONFIG_COMPAT)]
|
||||
unsafe extern "C" fn fops_compat_ioctl<T: MiscDevice>(
|
||||
file: *mut bindings::file,
|
||||
|
Loading…
Reference in New Issue
Block a user