From: Francis Moreau <francis.moro@gmail.com>
To: Borislav Petkov <bp@alien8.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: 3.12: kernel panic when resuming from suspend to RAM (x86_64)
Date: Mon, 18 Nov 2013 13:19:28 +0100 [thread overview]
Message-ID: <528A05D0.30907@gmail.com> (raw)
In-Reply-To: <20131117220611.GQ27323@pd.tnic>
Hello Borislav,
Le 17/11/2013 23:06, Borislav Petkov a écrit :
> On Sun, Nov 17, 2013 at 09:49:40PM +0100, Francis Moreau wrote:
>> On Sun, Nov 17, 2013 at 8:53 PM, Borislav Petkov <bp@alien8.de> wrote:
>>> On Sun, Nov 17, 2013 at 07:02:21PM +0100, Francis Moreau wrote:
>>>> Sorry I haven't taken the original picture large enough, and getting
>>>> this kernel panic is pretty hard since the kernel usually displays the
>>>> black screen.
>>>
>>> Ok, just try to make a readable picture of the whole line, next time you
>>> trigger it.
>>>
>>>> I can't find any traces of this function in the dump...
>>>
>>> Hmm, strange. Can you upload the whole vmlinux somewhere? Or is this the
>>> official archlinux kernel? If so, where can I get it from?
>>
>> Yes, you can download the bin package from :
>> https://www.archlinux.org/packages/core/x86_64/linux/
>>
>> The bin package is a tar archive, so it pretty straightforward to
>> unpack the vmlinux file (actual is filename vmlinuz-linux).
>
> Ok, here's what I was able to see: rIP points to call_timer_fn+0x33
> which is this:
>
> ffffffff8106f590 <call_timer_fn>:
> ffffffff8106f590: e8 2b b2 48 00 callq ffffffff814fa7c0 <__fentry__>
> ffffffff8106f595: 55 push %rbp
> ffffffff8106f596: 65 48 8b 04 25 70 c7 mov %gs:0xc770,%rax
> ffffffff8106f59d: 00 00
> ffffffff8106f59f: 48 89 e5 mov %rsp,%rbp
> ffffffff8106f5a2: 41 57 push %r15
> ffffffff8106f5a4: 49 89 d7 mov %rdx,%r15
> ffffffff8106f5a7: 41 56 push %r14
> ffffffff8106f5a9: 49 89 f6 mov %rsi,%r14
> ffffffff8106f5ac: 41 55 push %r13
> ffffffff8106f5ae: 41 54 push %r12
> ffffffff8106f5b0: 49 89 fc mov %rdi,%r12
> ffffffff8106f5b3: 53 push %rbx
> ffffffff8106f5b4: 44 8b a8 44 e0 ff ff mov -0x1fbc(%rax),%r13d
> ffffffff8106f5bb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
> ffffffff8106f5c0: 4c 89 ff mov %r15,%rdi
> ffffffff8106f5c3: 41 ff d6 callq *%r14 <--- faulting insn
> ffffffff8106f5c6: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
> ffffffff8106f5cb: 65 48 8b 04 25 70 c7 mov %gs:0xc770,%rax
> ffffffff8106f5d2: 00 00
> ffffffff8106f5d4: 44 39 a8 44 e0 ff ff cmp %r13d,-0x1fbc(%rax)
>
> and the virtual address in rIP is ffffffff8106f5c3, i.e. the same one
> as in the photo. Thus, the CALL instruction tries to call the timer
> function 'fn' which we pass as an argument to call_timer_fn.
>
> However, the address we're trying to call in %r14 is garbage:
> 0x455300323d504544 and not in canonical form, causing the #GP.
>
Thanks for digging this out !
Just out of curiosity, running "objdump -D" doesn't seem to show the
same thing here. How did you get such dump with function names for example ?
> So basically what happens is suspend to RAM corrupts something
> containing one or more timer functions and we end up calling crap after
> resume.
>
> If you want to debug this further, you could try playing through
> Documentation/power/basic-pm-debugging.txt and see whether suspend to
> disk works. There's also a section 2 which talks about testing suspend
> to RAM which could be of help.
The thing is that I'd like to avoid to oops my kernel to avoid to
corrupt my filesystem.
Thanks
next prev parent reply other threads:[~2013-11-18 12:19 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-17 9:42 3.12: kernel panic when resuming from suspend to RAM (x86_64) Francis Moreau
2013-11-17 13:25 ` Borislav Petkov
2013-11-17 15:50 ` Francis Moreau
2013-11-17 16:01 ` Borislav Petkov
2013-11-17 18:02 ` Francis Moreau
2013-11-17 19:53 ` Borislav Petkov
2013-11-17 20:49 ` Francis Moreau
2013-11-17 22:06 ` Borislav Petkov
2013-11-17 22:34 ` Rafael J. Wysocki
2013-11-17 22:46 ` Borislav Petkov
2013-11-18 12:21 ` Francis Moreau
2013-11-18 12:20 ` Francis Moreau
2013-11-18 0:33 ` Kevin Easton
2013-11-18 1:04 ` Borislav Petkov
2013-11-18 2:43 ` Kevin Easton
2013-11-18 12:19 ` Francis Moreau [this message]
2013-11-18 13:32 ` Borislav Petkov
2013-11-19 10:01 ` Francis Moreau
2013-11-19 10:15 ` Borislav Petkov
2013-11-20 9:45 ` Francis Moreau
2013-11-20 11:15 ` Borislav Petkov
2013-11-21 8:22 ` Francis Moreau
2013-11-21 10:12 ` Borislav Petkov
2013-11-21 11:17 ` Jingoo Han
2013-11-21 13:07 ` Francis Moreau
2013-11-22 7:43 ` Francis Moreau
2013-11-22 9:57 ` Francis Moreau
2013-11-22 12:54 ` Rafael J. Wysocki
2013-11-22 21:36 ` Francis Moreau
2013-11-22 22:08 ` Rafael J. Wysocki
2013-11-22 22:27 ` Thomas Gleixner
2013-11-24 9:39 ` Francis Moreau
2013-11-24 13:31 ` Borislav Petkov
2013-11-24 21:06 ` Rafael J. Wysocki
2013-11-25 7:42 ` Francis Moreau
2013-11-25 10:47 ` Rafael J. Wysocki
2013-11-29 8:28 ` Francis Moreau
2013-11-29 9:02 ` Thomas Gleixner
2013-11-30 15:07 ` Francis Moreau
2013-11-30 20:17 ` Rafael J. Wysocki
2013-12-01 10:11 ` Francis Moreau
2013-12-01 19:26 ` Francis Moreau
2013-12-02 10:49 ` Thomas Gleixner
2013-12-02 11:20 ` Thomas Gleixner
2013-12-03 8:14 ` Francis Moreau
2013-12-09 19:33 ` Francis Moreau
2013-12-09 22:27 ` Samuel Ortiz
2013-12-09 22:17 ` Samuel Ortiz
2013-12-10 1:39 ` wwang
2013-12-10 1:56 ` micky
2013-12-10 8:29 ` Samuel Ortiz
2014-01-10 7:26 ` Francis Moreau
2014-01-10 9:16 ` micky
2014-01-10 9:52 ` Samuel Ortiz
2014-01-10 10:07 ` Francis Moreau
2013-12-10 10:50 ` Francis Moreau
2013-12-17 8:03 ` Francis Moreau
2013-12-18 4:05 ` micky
2013-12-18 8:12 ` Francis Moreau
2013-12-20 1:30 ` micky
2013-12-20 2:28 ` Jingoo Han
2013-12-10 10:49 ` Francis Moreau
2013-11-24 9:42 ` Francis Moreau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=528A05D0.30907@gmail.com \
--to=francis.moro@gmail.com \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=rjw@sisk.pl \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).