From nobody Fri Dec 26 19:22:55 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 C71AA20F8 for ; Tue, 2 Jan 2024 07:42:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="XBq6Mytl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DAF3BC433C7; Tue, 2 Jan 2024 07:42:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1704181346; bh=9DEKpBAK4lAfxEl+HK6SsacI9TfcOy6SmxwkqN+ethw=; h=From:To:Cc:Subject:Date:From; b=XBq6Mytlngor+fYXTiV7tYQE4gmlfDid3wxgABGQbLv0zLFeV8oJTRHL8O+5mXOuw LoTN/f41GPhDAXSe0519oqjz/7peMuXp9TAJTX3f7Rsu98R5+Ili6VCIP/UhjxDExD xCY8M+8R0nb5h9NpjozNpPaMDlQEiFQuso6gYJz4Nkxt2+yRj+ky0gvZt32vYyORld 3GJFQGrvisapwp+8HjcwQDynGZ5gfl3kmVyLbYua1uqgY0EshNg6A5wD5Wigau12tE JYwOaKh44tILNw0UpUGALIrN1X8tzRIxreiLqYJK8HKoTgex3tpnWl2nPtmfXc3CL1 9mERgdw4uRDLw== From: alexs@kernel.org To: Josh Poimboeuf , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H . Peter Anvin" , linux-kernel@vger.kernel.org Cc: Alex Shi Subject: [PATCH] x86/dumpstack: uniform die messages Date: Tue, 2 Jan 2024 15:43:51 +0800 Message-ID: <20240102074351.1528009-1-alexs@kernel.org> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alex Shi panic() has a uniform preempt, like "Kernel panic - not syncing:". But die() doesn't have. We died thousands machine with very different reasons. With current die messages in dmesg, it's hard to write scripts to collect and anaylis the die reasons. So we'd better give die() a uniform preempt to make the life of system administrators a bit easier. Signed-off-by: Alex Shi To: linux-kernel@vger.kernel.org To: "H. Peter Anvin" To: x86@kernel.org To: Dave Hansen To: Borislav Petkov To: Ingo Molnar To: Thomas Gleixner To: Peter Zijlstra To: Josh Poimboeuf --- arch/x86/kernel/dumpstack.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c index f18ca44c904b..00766e7ac077 100644 --- a/arch/x86/kernel/dumpstack.c +++ b/arch/x86/kernel/dumpstack.c @@ -393,6 +393,8 @@ void oops_end(unsigned long flags, struct pt_regs *regs= , int signr) } NOKPROBE_SYMBOL(oops_end); =20 +#define DIE_PREEMPT "DIE:\n" + static void __die_header(const char *str, struct pt_regs *regs, long err) { const char *pr =3D ""; @@ -405,8 +407,8 @@ static void __die_header(const char *str, struct pt_reg= s *regs, long err) pr =3D IS_ENABLED(CONFIG_PREEMPT_RT) ? " PREEMPT_RT" : " PREEMPT"; =20 printk(KERN_DEFAULT - "%s: %04lx [#%d]%s%s%s%s%s\n", str, err & 0xffff, ++die_counter, - pr, + DIE_PREEMPT "%s: %04lx [#%d]%s%s%s%s%s\n", str, err & 0xffff, + ++die_counter, pr, IS_ENABLED(CONFIG_SMP) ? " SMP" : "", debug_pagealloc_enabled() ? " DEBUG_PAGEALLOC" : "", IS_ENABLED(CONFIG_KASAN) ? " KASAN" : "", --=20 2.43.0