From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AFCFC48E0FD; Tue, 8 Sep 2026 20:34:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788899677; cv=none; b=JLYOCxCyPyH45A62HB4BdI/+P7GUni/DLt2+GOsDgcBrZNJbKPd97GztTVFfZyIKG2+rohq4QyTABcZ3njd4p80J6BGVtayYvEli1gZZc6WqvWiHKe2cGRC5CmZ+z3aHZNJDLXmkn6LD3/21NzS1eIGlqVeNE7ge9hMiA4fWrXc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788899677; c=relaxed/simple; bh=HZZXwEkleiVSAM0IKgm7GJd24kfINQw22waIRIyHS7w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fvIegBp820B51JLokOFBVknDyQn6qh/wh+a01ghryLLmItgr2o4cuv1X/Q6fskQdBEXvamDTLe+ao1RAi7R/LjGowj9fsUBtnUsv3uI58t0cCKACaKgmVifEHXntBPwe/6JbJqSYs8u2dFXaNCGZQIH9aBB9CX4MsaC4QkwZnt0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jm6jwj0u; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jm6jwj0u" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2D3221F00ACA; Tue, 8 Sep 2026 20:34:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788899675; bh=arj2thDRFBkD3kr+abuMnCd3fOit+GURx5K2xxfGwUc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=jm6jwj0upEb4ddGoBUVBLJBgjOGpkxiRt9zxiLTMZqEP2kqT7/FgDFXLqAGuSTXk8 YRpES9OCnSn+u0M2x7y3zmkB9OzYjMe7lEUbjI32qTthT7+YCMkoS3EUrztc1EvlNb VDmfpgqu5QmTBrXrALSn14OgevYbEIWh4YHp3vm7b5ptGEZvdJvFEOP7SWznxLy/kI /Wy+jRGL87mxk/HEUyYxn30qCb9Qksjm90pXl+IuGeHUSdKrmDT8Cw1Pnq/nZTnVI5 /5mJxl6IzV3lK7PKVfyKSflNlC7TlVTtzB3NnyNlmDn6rypZfc5bqrM/d3NlCjKo+2 Ht68fXoGJ82hA== From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Gary Guo , rust-for-linux@vger.kernel.org, Ard Biesheuvel , Miguel Ojeda , Nathan Chancellor , Nicolas Schier , linux-kbuild@vger.kernel.org, Huacai Chen Subject: [PATCH v2 14/27] panic: Mark abort() __noreturn Date: Tue, 8 Sep 2026 13:33:26 -0700 Message-ID: <29af916d71bb27e4f0defa3b8b211db0174269c8.1788899473.git.jpoimboe@kernel.org> X-Mailer: git-send-email 2.55.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: rust-for-linux@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit abort() is a C compiler builtin interface, so compilers already know it doesn't return, but mark it as such explicitly for documentation purposes. Signed-off-by: Josh Poimboeuf --- arch/arc/kernel/traps.c | 4 +++- arch/arm/kernel/traps.c | 2 +- include/linux/panic.h | 2 +- kernel/exit.c | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/arc/kernel/traps.c b/arch/arc/kernel/traps.c index 8d2ea2cbd98b0..803c131c6aa78 100644 --- a/arch/arc/kernel/traps.c +++ b/arch/arc/kernel/traps.c @@ -153,7 +153,9 @@ void do_insterror_or_kprobe(unsigned long address, struct pt_regs *regs) /* * abort() call generated by older gcc for __builtin_trap() */ -void abort(void) +void __noreturn abort(void) { __asm__ __volatile__("trap_s 5\n"); + + unreachable(); } diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index afbd2ebe5c39d..a3bd26d41612f 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -777,7 +777,7 @@ asmlinkage void __div0(void) } EXPORT_SYMBOL(__div0); -void abort(void) +void __noreturn abort(void) { BUG(); diff --git a/include/linux/panic.h b/include/linux/panic.h index f1dd417e54b29..da8778360dadf 100644 --- a/include/linux/panic.h +++ b/include/linux/panic.h @@ -33,7 +33,7 @@ extern int sysctl_panic_on_stackoverflow; extern bool crash_kexec_post_notifiers; extern void __stack_chk_fail(void); -void abort(void); +void abort(void) __noreturn; /* * panic_cpu is used for synchronizing panic() and crash_kexec() execution. It diff --git a/kernel/exit.c b/kernel/exit.c index 97686af895013..e541e61945f9a 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -2027,7 +2027,7 @@ COMPAT_SYSCALL_DEFINE5(waitid, * * See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88345#c11 */ -__weak __function_aligned void abort(void) +__weak __function_aligned void __noreturn abort(void) { BUG(); -- 2.55.0