From: Josh Poimboeuf <jpoimboe@redhat.com>
To: David Laight <David.Laight@aculab.com>
Cc: "'x86@kernel.org'" <x86@kernel.org>,
"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
'Linus Torvalds' <torvalds@linux-foundation.org>,
'Al Viro' <viro@zeniv.linux.org.uk>,
'Will Deacon' <will@kernel.org>,
'Dan Williams' <dan.j.williams@intel.com>,
'Andrea Arcangeli' <aarcange@redhat.com>,
'Waiman Long' <longman@redhat.com>,
'Peter Zijlstra' <peterz@infradead.org>,
'Thomas Gleixner' <tglx@linutronix.de>,
'Andrew Cooper' <andrew.cooper3@citrix.com>,
'Andy Lutomirski' <luto@kernel.org>,
'Christoph Hellwig' <hch@lst.de>
Subject: Re: [PATCH] x86/uaccess: Use pointer masking to limit uaccess speculation
Date: Tue, 1 Sep 2020 10:24:06 -0500 [thread overview]
Message-ID: <20200901152406.gghubhgnlmoodisi@treble> (raw)
In-Reply-To: <0e91076ecda04055859b3ec32f8493ba@AcuMS.aculab.com>
On Tue, Sep 01, 2020 at 03:00:44PM +0000, David Laight wrote:
> e user-space accesses.
> >
> > Well, yes, but that's a much bigger job which can be done later.
>
> Isn't this all rather difficult to exploit though?
> (Unlike the original Spectre which trivially let kernel
> memory be read.)
> Don't you need to manage to 'preset' the branch predictor and BTB
> to the right state and then manage some kind of timing attack
> on L1 cache?
In-place training of the branch predictor, and L1 timing attacks are
both trivial.
The harder part is finding another gadget to build on the speculative
load. But there have been no shortage of new and creative ways to do
that over the last three years.
Also, since Spectre v1 affects many architectures, and may never get
fixed in HW, it's wise to harden these classes of attacks, especially if
we can do so easily.
Yes, it's not as efficient as it could be, but at least I think it's
better than the existing LFENCE. And it will get more efficient after
Christoph's set_fs() removal, and then even more so when we move the
masking to inside access_ok().
--
Josh
next prev parent reply other threads:[~2020-09-01 16:54 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-19 14:50 Josh Poimboeuf
2020-08-19 16:39 ` Andy Lutomirski
2020-08-19 17:02 ` Josh Poimboeuf
2020-08-19 21:30 ` David Laight
2020-08-20 0:18 ` Andy Lutomirski
2020-08-28 19:29 ` Josh Poimboeuf
2020-08-29 13:21 ` David Laight
2020-08-29 19:31 ` David Laight
2020-08-31 17:31 ` Josh Poimboeuf
2020-09-01 8:32 ` David Laight
2020-09-01 14:26 ` Josh Poimboeuf
2020-09-01 15:00 ` David Laight
2020-09-01 15:24 ` Josh Poimboeuf [this message]
2020-09-01 14:02 ` Mark Rutland
2020-09-01 14:21 ` Josh Poimboeuf
2020-09-01 14:52 ` Mark Rutland
2020-09-01 14:46 ` Christoph Hellwig
2020-09-01 14:54 ` Mark Rutland
2020-09-01 15:05 ` Christoph Hellwig
2020-09-01 15:46 ` Christoph Hellwig
2020-09-02 11:43 ` Mark Rutland
2020-09-02 13:32 ` Christoph Hellwig
2020-09-02 17:23 ` Mark Rutland
2020-09-03 6:56 ` Christoph Hellwig
2020-09-04 16:00 ` Mark Rutland
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=20200901152406.gghubhgnlmoodisi@treble \
--to=jpoimboe@redhat.com \
--cc=David.Laight@aculab.com \
--cc=aarcange@redhat.com \
--cc=andrew.cooper3@citrix.com \
--cc=dan.j.williams@intel.com \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=longman@redhat.com \
--cc=luto@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
--cc=will@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®