From: Peter Zijlstra <peterz@infradead.org>
To: Andy Lutomirski <luto@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Borislav Petkov <bp@alien8.de>, Laura Abbott <labbott@redhat.com>,
X86 ML <x86@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
stable <stable@vger.kernel.org>
Subject: Re: Yet another KPTI regression with 4.14.x series in a VM
Date: Sat, 13 Jan 2018 13:08:47 +0100 [thread overview]
Message-ID: <20180113120847.GI3397@worktop> (raw)
In-Reply-To: <CALCETrWOpg_OXThyMC66JQu7JF=TxzRwFrEgunUZt3H+VUfxrQ@mail.gmail.com>
On Fri, Jan 12, 2018 at 10:08:20PM -0800, Andy Lutomirski wrote:
> Now this is quite a strange value to write to CR3. The 0x800 part
> means that we're using the "user" variant of the address space that
> would have ASID=0 and the 0x1000 bit being set corresponds to the user
> pgdir, but this is nonsense, since the kernel never uses PCID 0 for
> user mode. We always start at 1. The only exception is if
> X86_FEATURE_PCID is off. But, if X86_FEATURE_PCID is off, then we
> shouldn't be setting any PCID bits.
My bad, I was under the impression the lower 12 bits would be ignored
without PCID :/
> .Lwrcr3_\@:
> /* Flip the PGD and ASID to the user version */
> orq $(PTI_SWITCH_MASK), \scratch_reg
> mov \scratch_reg, %cr3
> .Lend_\@:
>
> That's bogus. PTI_SWITCH_MASK is 0x1800, which has PCID = 0x800.
> This should probably use an alternative to select between 0x1000 and
> 0x800 depending on X86_FEATURE_PCID or just use an entirely different
> label for the !PCID case.
ALTERNATIVE "orq $(PTI_SWITCH_PGTABLE_MASK), \scratch_reg",
"orq $(PTI_SWITCH_MASK), \scratch_reg", X86_FEATURE_PCID
Is not wanting to compile though; probably that whole alternative vs
macro thing again :/
next prev parent reply other threads:[~2018-01-13 12:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-12 18:19 Yet another KPTI regression with 4.14.x series in a VM Laura Abbott
2018-01-12 18:51 ` Thomas Gleixner
2018-01-12 21:30 ` Laura Abbott
2018-01-12 21:51 ` Thomas Gleixner
2018-01-13 6:08 ` Andy Lutomirski
2018-01-13 6:33 ` Willy Tarreau
2018-01-13 20:01 ` Andy Lutomirski
2018-01-13 20:45 ` Thomas Gleixner
2018-01-13 20:52 ` Andy Lutomirski
2018-01-13 12:08 ` Peter Zijlstra [this message]
2018-01-13 12:30 ` David Woodhouse
2018-01-13 13:10 ` Peter Zijlstra
2018-01-13 13:10 ` Peter Zijlstra
2018-01-13 13:39 ` David Woodhouse
2018-01-13 14:14 ` David Woodhouse
2018-01-13 12:50 ` Thomas Gleixner
2018-01-13 13:51 ` Borislav Petkov
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=20180113120847.GI3397@worktop \
--to=peterz@infradead.org \
--cc=bp@alien8.de \
--cc=labbott@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.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 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.