Commit de7cd3e4 authored by Igor Korotin's avatar Igor Korotin Committed by Miguel Ojeda
Browse files

rust: use absolute paths in macros referencing core and kernel



Macros and auto-generated code should use absolute paths, `::core::...`
and `::kernel::...`, for core and kernel references.

This prevents issues where user-defined modules named `core` or `kernel`
could be picked up instead of the `core` or `kernel` crates.

Thus clean some references up.

Suggested-by: default avatarBenno Lossin <benno.lossin@proton.me>
Closes: https://github.com/Rust-for-Linux/linux/issues/1150


Signed-off-by: default avatarIgor Korotin <igor.korotin.linux@gmail.com>
Reviewed-by: default avatarBenno Lossin <lossin@kernel.org>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250519164615.3310844-1-igor.korotin.linux@gmail.com


[ Applied `rustfmt`. Reworded slightly. - Miguel ]
Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 977c4308
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ macro_rules! alias {

        // Check size compatibility with `core`.
        const _: () = assert!(
            core::mem::size_of::<$name>() == core::mem::size_of::<core::ffi::$name>()
            ::core::mem::size_of::<$name>() == ::core::mem::size_of::<::core::ffi::$name>()
        );
    )*}
}
+1 −1
Original line number Diff line number Diff line
@@ -240,7 +240,7 @@ impl DeviceContext for Normal {}
macro_rules! dev_printk {
    ($method:ident, $dev:expr, $($f:tt)*) => {
        {
            ($dev).$method(core::format_args!($($f)*));
            ($dev).$method(::core::format_args!($($f)*));
        }
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ macro_rules! module_device_table {
                    "_", line!(),
                    "_", stringify!($table_name))
        ]
        static $module_table_name: [core::mem::MaybeUninit<u8>; $table_name.raw_ids().size()] =
            unsafe { core::mem::transmute_copy($table_name.raw_ids()) };
        static $module_table_name: [::core::mem::MaybeUninit<u8>; $table_name.raw_ids().size()] =
            unsafe { ::core::mem::transmute_copy($table_name.raw_ids()) };
    };
}
+4 −4
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ macro_rules! kunit_assert {
            }

            static FILE: &'static $crate::str::CStr = $crate::c_str!($file);
            static LINE: i32 = core::line!() as i32 - $diff;
            static LINE: i32 = ::core::line!() as i32 - $diff;
            static CONDITION: &'static $crate::str::CStr = $crate::c_str!(stringify!($condition));

            // SAFETY: FFI call without safety requirements.
@@ -130,11 +130,11 @@ unsafe impl Sync for UnaryAssert {}
            unsafe {
                $crate::bindings::__kunit_do_failed_assertion(
                    kunit_test,
                    core::ptr::addr_of!(LOCATION.0),
                    ::core::ptr::addr_of!(LOCATION.0),
                    $crate::bindings::kunit_assert_type_KUNIT_ASSERTION,
                    core::ptr::addr_of!(ASSERTION.0.assert),
                    ::core::ptr::addr_of!(ASSERTION.0.assert),
                    Some($crate::bindings::kunit_unary_assert_format),
                    core::ptr::null(),
                    ::core::ptr::null(),
                );
            }

+1 −1
Original line number Diff line number Diff line
@@ -34,6 +34,6 @@
#[macro_export]
macro_rules! static_assert {
    ($condition:expr $(,$arg:literal)?) => {
        const _: () = core::assert!($condition $(,$arg)?);
        const _: () = ::core::assert!($condition $(,$arg)?);
    };
}
Loading