Commit 4e6b5b8a authored by Benno Lossin's avatar Benno Lossin Committed by Miguel Ojeda
Browse files

rust: sync: fix safety comment for `static_lock_class`



The safety comment mentions lockdep -- which from a Rust perspective
isn't important -- and doesn't mention the real reason for why it's
sound to create `LockClassKey` as uninitialized memory.

Signed-off-by: default avatarBenno Lossin <lossin@kernel.org>
Reviewed-by: default avatarAlice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20250520231714.323931-1-lossin@kernel.org


Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 28753212
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -95,8 +95,11 @@ fn drop(self: Pin<&mut Self>) {
macro_rules! static_lock_class {
    () => {{
        static CLASS: $crate::sync::LockClassKey =
            // SAFETY: lockdep expects uninitialized memory when it's handed a statically allocated
            // lock_class_key
            // Lockdep expects uninitialized memory when it's handed a statically allocated `struct
            // lock_class_key`.
            //
            // SAFETY: `LockClassKey` transparently wraps `Opaque` which permits uninitialized
            // memory.
            unsafe { ::core::mem::MaybeUninit::uninit().assume_init() };
        $crate::prelude::Pin::static_ref(&CLASS)
    }};