Re: [PATCH] Documentation/submitting-patches: Add blurb about backtraces in commit messages

From: Borislav Petkov
Date: Mon Dec 28 2020 - 13:16:37 EST


On Mon, Dec 28, 2020 at 09:59:48AM -0800, Sean Christopherson wrote:
> Obvious and superfluous for people that are intimately familiar with the code,
> but explicit call stacks are extremely helpful when (re)learning code.

Here's an example:

[ 2.649874] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[ 2.651774] ------------[ cut here ]------------
[ 2.652726] WARNING: CPU: 2 PID: 1 at init/main.c:1436 kernel_init+0x58/0x107
[ 2.653643] Modules linked in:
[ 2.654260] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.11.0-rc1+ #2
[ 2.654396] usb 1-1: new full-speed USB device number 2 using uhci_hcd
[ 2.655125] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1 04/01/2014
[ 2.657687] RIP: 0010:kernel_init+0x58/0x107
[ 2.658391] Code: 5e fc ff eb 0c 48 c7 c7 18 bc 09 82 e8 8a a4 fc ff c7 05 a2 5f b0 07 02 00 00 00 e8 a9 1c 9b ff e8 b4 dc 89 ff e8 2f d3 a6 ff <0f> 0b 48 8b 3d 76 87 9d 00 48 85 ff 74 22 e8 ef 19 fc ff 85 c0 89
[ 2.660707] RSP: 0018:ffffc90000013f50 EFLAGS: 00010292
[ 2.661499] RAX: ffff88800ebcdc01 RBX: ffffffff81837b59 RCX: 0000000000000802
[ 2.662469] RDX: 00000000000007f2 RSI: 05b5d427c1a6d18d RDI: 000000000002d100
[ 2.663411] RBP: 0000000000000000 R08: 000000000000000d R09: 000000000000000c
[ 2.664318] R10: 000000000000000d R11: 0000000000000020 R12: 0000000000000000
[ 2.666458] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 2.667462] FS: 0000000000000000(0000) GS:ffff88807da80000(0000) knlGS:0000000000000000
[ 2.668472] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2.669257] CR2: 0000000000000000 CR3: 000000000220a000 CR4: 00000000003506e0
[ 2.670183] Call Trace:
[ 2.670723] ret_from_fork+0x22/0x30
[ 2.671340] ---[ end trace 385e10f347736cf9 ]---

Yes, useless. The callstack is not even there.

This is the only line that matters:

[ 2.652726] WARNING: CPU: 2 PID: 1 at init/main.c:1436 kernel_init+0x58/0x107

because what caused it is:

diff --git a/init/main.c b/init/main.c
index 6feee7f11eaf..aa52355d98ae 100644
--- a/init/main.c
+++ b/init/main.c
@@ -1433,6 +1433,8 @@ static int __ref kernel_init(void *unused)

do_sysctl_args();

+ WARN_ON_ONCE(1);
+
if (ramdisk_execute_command) {
ret = run_init_process(ramdisk_execute_command);
if (!ret)


even if you had a stack trace here, it would be totally useless because
you *know* where it came from.

But ok, I can change the formulation that it is up to the committer's
judgement to decide whether to remove that blurb. Because I definitely
will be removing a useless noise like that before committing.

Thx.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette