Re: [RFC] x86/speculation: add L1 Terminal Fault / Foreshadow demo

From: Kees Cook
Date: Mon Jan 21 2019 - 15:42:33 EST


On Tue, Jan 22, 2019 at 8:15 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Mon, Jan 21, 2019 at 10:36:18AM -0800, Andi Kleen wrote:
> > > + /* Check the start address: needs to be page-aligned.. */
> > > +- if (start & ~PAGE_MASK)
> > > ++ if (start & ~PAGE_MASK) {
> > > ++
> > > ++ /*
> > > ++ * XXX Hack
> > > ++ *
> > > ++ * We re-use this error case to show case a cache load gadget:
> > > ++ * There is a mispredicted branch, which leads to prefetching
> > > ++ * the cache with attacker controlled data.
> > > ++ */
> > > ++ asm volatile (
> >
> > Obviously that can never be added to a standard kernel.
>
> No, that's why it is a patch, right? People want to test things, it's
> nice to have a way to easily do this.

What about adding something like it to drivers/misc/lkdtm/ instead?

It's not a "production" module, but it regularly get built for selftest builds.

--
Kees Cook