linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Lutomirski <luto@amacapital.net>
To: "Luck, Tony" <tony.luck@intel.com>
Cc: Borislav Petkov <bp@alien8.de>, Jiri Kosina <jkosina@suse.cz>,
	Thomas Gleixner <tglx@linutronix.de>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Andi Kleen <andi@firstfloor.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>
Subject: Re: [RFC] x86_64: A real proposal for iret-less return to kernel
Date: Wed, 21 May 2014 15:39:11 -0700	[thread overview]
Message-ID: <CALCETrXxEAwJ33bF7FeRLeCbE7BfMn==OsFsoorW_NWFLxwuew@mail.gmail.com> (raw)
In-Reply-To: <3908561D78D1C84285E8C5FCA982C28F3281198D@ORSMSX114.amr.corp.intel.com>

On Wed, May 21, 2014 at 3:32 PM, Luck, Tony <tony.luck@intel.com> wrote:
>>> The recovery path has to do more than just send a signal - it needs to walk processes and
>>> "mm"s to see which have mapped the physical address that the h/w told us has gone bad.
>>
>> I still feel like I'm missing something.  If we interrupted user space
>> code, then the context we're in should be identical to the context
>> we'll get when we're about to return to userspace.
>
> True. And this far along in do_machine_check() we have set all the other cpus
> free, so the are heading back to whatever context we interrupted them in. So
> we might be able to do all that other stuff inline here ... we interrupted user
> mode, so we know we don't hold any locks. Other cpus are running, so they can
> complete what they are doing to release any locks we might need.
>
> But it will take a while (to scan all those processes). And we haven't yet
> cleared MCG_STATUS ... so another machine check before we do that
> would be fatal (x86 doesn't allow nesting).  Even if we moved the work
> after the clear of MCG_STATUS we'd still be vulnerable to a new machine
> check on x86_64 because we are sitting on the one & only machine check
> stack.

But if we get a new MCE in here, it will be an MCE from kernel context
and it's fatal.  So, yes, we'll clobber the stack, but we'll never
return (unless tolerant is set to something insane), so who cares?

Anyway, I care less about this now that I don't have to worry about it
re: IRET :)

--Andy

  reply	other threads:[~2014-05-21 22:39 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-21  0:53 [RFC] x86_64: A real proposal for iret-less return to kernel Andy Lutomirski
2014-05-21  2:27 ` Steven Rostedt
2014-05-21  2:33   ` H. Peter Anvin
2014-05-21  2:39   ` Andy Lutomirski
2014-05-21  9:46     ` Borislav Petkov
2014-05-21 15:21       ` Andy Lutomirski
2014-05-21 16:30         ` Borislav Petkov
2014-05-21 17:52           ` Andy Lutomirski
2014-05-21 18:07             ` Borislav Petkov
2014-05-21 12:51     ` Jiri Kosina
2014-05-21 15:21       ` Andy Lutomirski
2014-05-21 16:33         ` Borislav Petkov
2014-05-21 21:25           ` Jiri Kosina
2014-05-21 21:35             ` Andy Lutomirski
2014-05-21 21:48               ` Borislav Petkov
2014-05-21 21:52                 ` Andy Lutomirski
2014-05-21 21:55                   ` Borislav Petkov
2014-05-21 21:59                     ` Jiri Kosina
2014-05-21 21:59                     ` Andy Lutomirski
2014-05-21 22:01                   ` Luck, Tony
2014-05-21 22:13                     ` Andy Lutomirski
2014-05-21 22:17                       ` Borislav Petkov
2014-05-21 22:20                         ` Andy Lutomirski
2014-05-21 22:36                           ` Borislav Petkov
2014-05-21 22:18                       ` Luck, Tony
2014-05-21 22:24                         ` Andy Lutomirski
2014-05-21 22:32                           ` Luck, Tony
2014-05-21 22:39                             ` Andy Lutomirski [this message]
2014-05-21 22:48                               ` Borislav Petkov
2014-05-21 22:52                                 ` Andy Lutomirski
2014-05-21 23:02                                   ` Borislav Petkov
2014-05-21 23:05                                 ` Luck, Tony
2014-05-21 23:07                                   ` Andy Lutomirski
2014-05-21 23:19                                     ` Luck, Tony
2014-05-21 23:30                                       ` Linus Torvalds
2014-05-21 23:40                                         ` Luck, Tony
2014-05-21 23:51                                         ` Borislav Petkov
2014-05-22  0:03                                           ` Linus Torvalds
2014-05-22  8:50                                             ` Borislav Petkov
2014-05-22  0:05                                           ` Andy Lutomirski
2014-05-21 21:37             ` Linus Torvalds
2014-05-21 21:43               ` Borislav Petkov
2014-05-21 21:45                 ` H. Peter Anvin
2014-05-21 21:47                   ` Andy Lutomirski
2014-05-21 21:54                     ` Borislav Petkov
2014-05-21 22:00                       ` H. Peter Anvin
2014-05-21 22:11                         ` Borislav Petkov
2014-05-21 22:13                           ` H. Peter Anvin
2014-05-21 22:21                             ` Borislav Petkov
2014-05-26 10:18                             ` [PATCH] x86, MCE: Flesh out when to panic comment Borislav Petkov
2014-05-26 10:51                               ` Jiri Kosina
2014-05-26 11:06                                 ` Borislav Petkov
2014-05-26 16:47                                   ` Andy Lutomirski
2014-05-26 17:51                                     ` Borislav Petkov
2014-05-26 17:59                                       ` Andy Lutomirski
2014-05-27 21:53                                   ` Luck, Tony
2014-05-27 22:24                                     ` Borislav Petkov
2014-05-27 22:33                                       ` Luck, Tony
2014-05-21 21:50                   ` [RFC] x86_64: A real proposal for iret-less return to kernel Jiri Kosina
2014-05-21 18:11 ` Andy Lutomirski
2014-05-21 22:36   ` H. Peter Anvin
2014-05-21 22:41     ` Andy Lutomirski
2014-05-21 23:03       ` H. Peter Anvin
2014-05-21 22:25 ` Andi Kleen
2014-05-21 22:32   ` Andy Lutomirski
2014-05-21 22:33   ` Linus Torvalds
2014-05-21 23:23     ` Andi Kleen
2014-05-21 23:34       ` Linus Torvalds

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='CALCETrXxEAwJ33bF7FeRLeCbE7BfMn==OsFsoorW_NWFLxwuew@mail.gmail.com' \
    --to=luto@amacapital.net \
    --cc=andi@firstfloor.org \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=jkosina@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=torvalds@linux-foundation.org \
    /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).