]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
objtool/rust: add one more `noreturn` Rust function
authorMiguel Ojeda <ojeda@kernel.org>
Fri, 6 Feb 2026 20:43:36 +0000 (21:43 +0100)
committerMiguel Ojeda <ojeda@kernel.org>
Tue, 10 Feb 2026 10:01:16 +0000 (11:01 +0100)
`objtool` with Rust 1.84.0 reports:

    rust/kernel.o: error: objtool: _RNvXNtNtCsaRPFapPOzLs_6kernel3str9parse_intaNtNtB2_7private12FromStrRadix14from_str_radix()
    falls through to next function _RNvXNtNtCsaRPFapPOzLs_6kernel3str9parse_intaNtNtB2_7private12FromStrRadix16from_u64_negated()

This is very similar to commit c18f35e49049 ("objtool/rust: add one more
`noreturn` Rust function"), which added `from_ascii_radix_panic` for Rust
1.86.0, except that Rust 1.84.0 ends up needing `from_str_radix_panic`.

Thus add it to the list to fix the warning.

Cc: FUJITA Tomonori <fujita.tomonori@gmail.com>
Fixes: 51d9ee90ea90 ("rust: str: add radix prefixed integer parsing functions")
Reported-by: Alice Ryhl <aliceryhl@google.com>
Link: https://rust-for-linux.zulipchat.com/#narrow/channel/291565/topic/x/with/572427627
Tested-by: Alice Ryhl <aliceryhl@google.com>
Link: https://patch.msgid.link/20260206204336.38462-1-ojeda@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
tools/objtool/check.c

index 3fd98c5b6e1a88c453b4640e6ac53b4ec807a12c..37ec0d757e9b1bca7359b711431877d003132ea9 100644 (file)
@@ -197,7 +197,8 @@ static bool is_rust_noreturn(const struct symbol *func)
         * as well as changes to the source code itself between versions (since
         * these come from the Rust standard library).
         */
-       return str_ends_with(func->name, "_4core3num22from_ascii_radix_panic")                          ||
+       return str_ends_with(func->name, "_4core3num20from_str_radix_panic")                            ||
+              str_ends_with(func->name, "_4core3num22from_ascii_radix_panic")                          ||
               str_ends_with(func->name, "_4core5sliceSp15copy_from_slice17len_mismatch_fail")          ||
               str_ends_with(func->name, "_4core6option13expect_failed")                                ||
               str_ends_with(func->name, "_4core6option13unwrap_failed")                                ||