Re: [PATCH 06/18] x86, barrier: stop speculation for failed access_ok

From: Linus Torvalds
Date: Fri Jan 05 2018 - 22:09:08 EST


On Fri, Jan 5, 2018 at 6:52 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> The fact is, we have to stop speculating when access_ok() does *not*
> fail - because that's when we'll actually do the access. And it's that
> access that needs to be non-speculative.

I also suspect we should probably do this entirely differently.

Maybe the whole lfence can be part of uaccess_begin() instead (ie
currently 'stac()'). That would fit the existing structure better, I
think. And it would avoid any confusion about the whole "when to stop
speculation".

Linus