All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Xi Ruoyao <xry111@mengyan1223.wang>,
	Jiri Kosina <jikos@kernel.org>, Kees Cook <keescook@chromium.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Ingo Molnar <mingo@kernel.org>,
	Linux List Kernel Mailing <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@alien8.de>, Len Brown <lenb@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Tony Luck <tony.luck@intel.com>,
	Bob Moore <robert.moore@intel.com>,
	Erik Schmauss <erik.schmauss@intel.com>,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	Daniel Bristot de Oliveira <bristot@redhat.com>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] x86/asm: Move native_write_cr0/3() out of line
Date: Wed, 10 Jul 2019 22:02:40 +0200	[thread overview]
Message-ID: <20190710200240.GR3402@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <alpine.DEB.2.21.1907102140340.1758@nanos.tec.linutronix.de>

On Wed, Jul 10, 2019 at 09:42:46PM +0200, Thomas Gleixner wrote:
> The pinning of sensitive CR0 and CR4 bits caused a boot crash when loading
> the kvm_intel module on a kernel compiled with CONFIG_PARAVIRT=n.
> 
> The reason is that the static key which controls the pinning is marked RO
> after init. The kvm_intel module contains a CR4 write which requires to
> update the static key entry list. That obviously does not work when the key
> is in a RO section.
> 
> With CONFIG_PARAVIRT enabled this does not happen because the CR4 write
> uses the paravirt indirection and the actual write function is built in.
> 
> As the key is intended to be immutable after init, move
> native_write_cr0/3() out of line.
> 
> While at it consolidate the update of the cr4 shadow variable and store the
> value right away when the pinning is initialized on a booting CPU. No point
> in reading it back 20 instructions later. This allows to confine the static
> key and the pinning variable to cpu/common and allows to mark them static.
> 
> Fixes: 8dbec27a242c ("x86/asm: Pin sensitive CR0 bits")
> Fixes: 873d50d58f67 ("x86/asm: Pin sensitive CR4 bits")
> Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
> Reported-by: Xi Ruoyao <xry111@mengyan1223.wang>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Tested-by: Xi Ruoyao <xry111@mengyan1223.wang>

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>

  parent reply	other threads:[~2019-07-10 20:03 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-08 16:27 [GIT PULL] x86/topology changes for v5.3 Ingo Molnar
2019-07-09  1:45 ` pr-tracker-bot
2019-07-09 21:20 ` Linus Torvalds
2019-07-09 21:26   ` Linus Torvalds
2019-07-09 21:45     ` Linus Torvalds
2019-07-09 22:00       ` Linus Torvalds
2019-07-09 22:07         ` Linus Torvalds
2019-07-09 22:27         ` Thomas Gleixner
2019-07-09 23:00           ` Thomas Gleixner
2019-07-09 23:17             ` Thomas Gleixner
2019-07-10  0:31               ` Kees Cook
2019-07-10 11:27                 ` Xi Ruoyao
2019-07-10 12:01                   ` Xi Ruoyao
2019-07-10 12:19                     ` Thomas Gleixner
2019-07-10 12:31                       ` Jiri Kosina
2019-07-10 13:21                         ` Peter Zijlstra
2019-07-10 13:27                           ` Jiri Kosina
2019-07-10 13:28                             ` Jiri Kosina
2019-07-10 13:31                               ` Xi Ruoyao
2019-07-10 13:25                         ` Xi Ruoyao
2019-07-10 13:44                           ` Peter Zijlstra
2019-07-10 14:03                             ` Thomas Gleixner
2019-07-10 14:26                               ` Thomas Gleixner
2019-07-10 14:22                             ` Jiri Kosina
2019-07-10 14:26                               ` Peter Zijlstra
2019-07-10 15:13                                 ` Thomas Gleixner
2019-07-10 15:58                                   ` Xi Ruoyao
2019-07-10 19:42                                     ` [PATCH] x86/asm: Move native_write_cr0/3() out of line Thomas Gleixner
2019-07-10 19:59                                       ` Kees Cook
2019-07-10 20:00                                         ` Thomas Gleixner
2019-07-10 20:02                                       ` Peter Zijlstra [this message]
2019-07-10 20:19                                       ` [tip:x86/urgent] x86/asm: Move native_write_cr0/4() " tip-bot for Thomas Gleixner
2019-07-10 14:44                               ` [GIT PULL] x86/topology changes for v5.3 Xi Ruoyao
2019-07-11  7:11                               ` Nadav Amit
2019-07-11  7:16                                 ` Thomas Gleixner
2019-07-11  8:01                                 ` Peter Zijlstra
2019-07-11 15:08                                   ` Kees Cook
2019-07-11 17:09                                     ` Nadav Amit
2019-07-10  0:59             ` Linus Torvalds
2019-07-10  1:08               ` Linus Torvalds
2019-07-10  3:21                 ` Linus Torvalds
2019-07-10  5:15                   ` Linus Torvalds
2019-07-10  5:33                     ` Kees Cook
2019-07-10 18:40                     ` Linus Torvalds
2019-07-10 10:03             ` Rafael J. Wysocki

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=20190710200240.GR3402@hirez.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=bristot@redhat.com \
    --cc=erik.schmauss@intel.com \
    --cc=jgross@suse.com \
    --cc=jikos@kernel.org \
    --cc=jpoimboe@redhat.com \
    --cc=keescook@chromium.org \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=robert.moore@intel.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=xry111@mengyan1223.wang \
    /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.