Re: [RFC PATCH] x86/debug: Dump more detailed segfault info

From: Ingo Molnar
Date: Tue Nov 15 2016 - 01:15:02 EST



* Borislav Petkov <bp@xxxxxxxxx> wrote:

> On Sun, Nov 13, 2016 at 12:25:52PM +0100, Borislav Petkov wrote:
> > Hmm, enabling all *PRINTK* options from your .config doesn't change
> > anything for my qemu guest here. Lemme try with your full config.
>
> Same with your .config:
>
> [ 115.694717] strsep[3027]: segfault at 40066b ip 00007ffff7abe22b sp 00007fffffffe990 error 7 in libc-2.19.so[7ffff7a33000+19f000]
> [ 115.700181] RIP: 0033:[<00007ffff7abe22b>] [<00007ffff7abe22b>] 0x7ffff7abe22b
> [ 115.704843] RSP: 002b:00007fffffffe990 EFLAGS: 00010202
> [ 115.707183] RAX: 000000000040066b RBX: 0000000000400664 RCX: 0000000000000000
> [ 115.709189] RDX: 0000000000000000 RSI: 000000000000003d RDI: 0000000000400665
> [ 115.711207] RBP: 00007fffffffe9b0 R08: 00007ffff7dd7c60 R09: 00007ffff7deae20
> [ 115.713630] R10: 00007fffffffe770 R11: 00007ffff7abe200 R12: 0000000000400460
> [ 115.715653] R13: 00007fffffffeaa0 R14: 0000000000000000 R15: 0000000000000000
> [ 115.717651] FS: 00007ffff7fdc700(0000) GS:ffff88007ed00000(0000) knlGS:0000000000000000
> [ 115.719554] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 115.720393] CR2: 000000000040066b CR3: 0000000079f4f000 CR4: 00000000000406e0
> [ 115.721409] Code: [ 115.721692] 74 33 80 7e 01 00 74 22 48 89 df e8 5a 8a ff ff 48 85 c0 74 20 <c6> 00 00 48 83 c0 01 48 89 45 00 48 89 d8 48 83 c4 08 5b 5d c3 0f b6 13 38 d0 74 29 84 d2 75 15 48 c7 45 00 00 00 00 00 48 83 c4
>
> Is this a real hw issue? I.e., maybe I should not be doing this in a
> guest?

So I think the line breaking artifact might be due to the following commit:

bfd8d3f23b51 ("printk: make reading the kernel log flush pending lines")

... which Linus reverted upstream a few hours ago:

commit f5c9f9c72395c3291c2e35c905dedae2b98475a4
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Nov 14 09:31:52 2016 -0800

Revert "printk: make reading the kernel log flush pending lines"

This reverts commit bfd8d3f23b51018388be0411ccbc2d56277fe294.

It turns out that this flushes things much too aggressiverly, and causes
lines to break up when the system logger races with new continuation
lines being printed.
...

Thanks,

Ingo