[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250410.213402.1373597003035091247.fujita.tomonori@gmail.com>
Date: Thu, 10 Apr 2025 21:34:02 +0900 (JST)
From: FUJITA Tomonori <fujita.tomonori@...il.com>
To: aliceryhl@...gle.com
Cc: fujita.tomonori@...il.com, linux-kernel@...r.kernel.org,
rust-for-linux@...r.kernel.org, x86@...nel.org,
linux-riscv@...ts.infradead.org, linux-arm-kernel@...ts.infradead.org,
loongarch@...ts.linux.dev, tglx@...utronix.de, mingo@...hat.com,
bp@...en8.de, dave.hansen@...ux.intel.com, peterz@...radead.org,
hpa@...or.com, paul.walmsley@...ive.com, palmer@...belt.com,
aou@...s.berkeley.edu, catalin.marinas@....com, will@...nel.org,
chenhuacai@...nel.org, kernel@...0n.name, tangyouling@...ngson.cn,
hejinyang@...ngson.cn, yangtiezhu@...ngson.cn, ojeda@...nel.org,
alex.gaynor@...il.com, boqun.feng@...il.com, gary@...yguo.net,
bjorn3_gh@...tonmail.com, benno.lossin@...ton.me, a.hindborg@...nel.org,
tmgross@...ch.edu
Subject: Re: [PATCH v5 4/4] rust: Add warn_on macro
On Thu, 10 Apr 2025 07:39:48 +0000
Alice Ryhl <aliceryhl@...gle.com> wrote:
>> diff --git a/rust/kernel/bug.rs b/rust/kernel/bug.rs
>> new file mode 100644
>> index 000000000000..761f0c49ae04
>> --- /dev/null
>> +++ b/rust/kernel/bug.rs
>> @@ -0,0 +1,114 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +
>> +// Copyright (C) 2024, 2025 FUJITA Tomonori <fujita.tomonori@...il.com>
>> +
>> +//! Support for BUG and WARN functionality.
>> +//!
>> +//! C header: [`include/asm-generic/bug.h`](srctree/include/asm-generic/bug.h)
>> +
>> +#[macro_export]
>> +#[doc(hidden)]
>> +#[cfg(all(CONFIG_BUG, not(CONFIG_UML), not(CONFIG_LOONGARCH), not(CONFIG_ARM)))]
>> +#[cfg(CONFIG_DEBUG_BUGVERBOSE)]
>> +macro_rules! warn_flags {
>> + ($flags:expr) => {
>> + const FLAGS: u32 = $crate::bindings::BUGFLAG_WARNING | $flags;
>> + const _FILE: &[u8] = file!().as_bytes();
>> + // Plus one for null-terminator.
>> + static FILE: [u8; _FILE.len() + 1] = {
>> + let mut bytes = [0; _FILE.len() + 1];
>> + let mut i = 0;
>> + while i < _FILE.len() {
>> + bytes[i] = _FILE[i];
>> + i += 1;
>> + }
>> + bytes
>> + };
>> + // SAFETY: Just an FFI call.
>
> Safety comments could be improved. This being an FFI call is not the
> reason why it's okay. Furthermore, it's not an FFI call.
>
> Otherwise, this series LGTM.
SAFETY: It's always safe to embed metadata such as the source file
name, line number, and flags into the .bug_table ELF section.
Looks good?
Powered by blists - more mailing lists