All of lore.kernel.org
 help / color / mirror / Atom feed
From: Francis Moreau <francis.moro@gmail.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>, Borislav Petkov <bp@alien8.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Linux PM list <linux-pm@vger.kernel.org>
Subject: Re: 3.12: kernel panic when resuming from suspend to RAM (x86_64)
Date: Mon, 18 Nov 2013 13:20:41 +0100	[thread overview]
Message-ID: <528A0619.1000507@gmail.com> (raw)
In-Reply-To: <4636530.OR894YNbbr@vostro.rjw.lan>

Le 17/11/2013 23:34, Rafael J. Wysocki a écrit :
> On Sunday, November 17, 2013 11:06:12 PM Borislav Petkov wrote:
>> 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.
>>
>> 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.
>>
>> But let me add Rafael and Thomas - they should have much better ideas
>> than me.
>>
>> Guys, thread starts here:
>> http://marc.info/?l=linux-kernel&m=138468134321335
> 
> This looks like a softirq bug to me (and related to cpuidle).
> 
> I'm wondering if that happens with any of the older kernels or just 3.12?
> 

I can try to find the old kernel package and see if that happens tonight.


  parent reply	other threads:[~2013-11-18 12:20 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 [this message]
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
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=528A0619.1000507@gmail.com \
    --to=francis.moro@gmail.com \
    --cc=bp@alien8.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.