rust: enable `clippy::undocumented_unsafe_blocks` lint
Checking that we are not missing any `// SAFETY` comments in our `unsafe` blocks is something we have wanted to do for a long time, as well as cleaning up the remaining cases that were not documented [1]. Back when Rust for Linux started, this was something that could have been done via a script, like Rust's `tidy`. Soon after, in Rust 1.58.0, Clippy implemented the `undocumented_unsafe_blocks` lint [2]. Even though the lint has a few false positives, e.g. in some cases where attributes appear between the comment and the `unsafe` block [3], there are workarounds and the lint seems quite usable already. Thus enable the lint now. We still have a few cases to clean up, so just allow those for the moment by writing a `TODO` comment -- some of those may be good candidates for new contributors. Link: https://github.com/Rust-for-Linux/linux/issues/351 [1] Link: https://rust-lang.github.io/rust-clippy/master/#/undocumented_unsafe_blocks [2] Link: https://github.com/rust-lang/rust-clippy/issues/13189 [3] Reviewed-by:Alice Ryhl <aliceryhl@google.com> Reviewed-by:
Trevor Gross <tmgross@umich.edu> Tested-by:
Gary Guo <gary@garyguo.net> Reviewed-by:
Gary Guo <gary@garyguo.net> Link: https://lore.kernel.org/r/20240904204347.168520-5-ojeda@kernel.org Signed-off-by:
Miguel Ojeda <ojeda@kernel.org>
Showing
- Makefile 1 addition, 0 deletionsMakefile
- mm/kasan/kasan_test_rust.rs 1 addition, 0 deletionsmm/kasan/kasan_test_rust.rs
- rust/bindings/lib.rs 1 addition, 0 deletionsrust/bindings/lib.rs
- rust/kernel/alloc/allocator.rs 2 additions, 0 deletionsrust/kernel/alloc/allocator.rs
- rust/kernel/error.rs 6 additions, 3 deletionsrust/kernel/error.rs
- rust/kernel/init.rs 5 additions, 0 deletionsrust/kernel/init.rs
- rust/kernel/init/__internal.rs 2 additions, 0 deletionsrust/kernel/init/__internal.rs
- rust/kernel/init/macros.rs 9 additions, 0 deletionsrust/kernel/init/macros.rs
- rust/kernel/list.rs 1 addition, 0 deletionsrust/kernel/list.rs
- rust/kernel/print.rs 2 additions, 0 deletionsrust/kernel/print.rs
- rust/kernel/str.rs 4 additions, 3 deletionsrust/kernel/str.rs
- rust/kernel/sync/condvar.rs 1 addition, 1 deletionrust/kernel/sync/condvar.rs
- rust/kernel/sync/lock.rs 3 additions, 3 deletionsrust/kernel/sync/lock.rs
- rust/kernel/types.rs 4 additions, 0 deletionsrust/kernel/types.rs
- rust/kernel/workqueue.rs 4 additions, 0 deletionsrust/kernel/workqueue.rs
- rust/uapi/lib.rs 1 addition, 0 deletionsrust/uapi/lib.rs
Loading
Please register or sign in to comment