All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jon Masters <jcm@redhat.com>
To: speck@linutronix.de
Subject: [MODERATED] Re: [patch 2/2] Command line and documentation 2
Date: Wed, 11 Jul 2018 10:03:07 -0400	[thread overview]
Message-ID: <77394908-cc25-c7ff-e2b2-65e6a429a179@redhat.com> (raw)
In-Reply-To: <20180709220701.GN25550@tassilo.jf.intel.com>

[-- Attachment #1: Type: text/plain, Size: 1523 bytes --]

On 07/09/2018 06:07 PM, speck for Andi Kleen wrote:

>> +Problem
>> +-------
>> +
>> +If an instruction accesses a virtual address for which the relevant page
>> +table entry (PTE) has the present bit cleared, then the speculative
>> +execution can load the data into the speculation flow when the data from

If an instruction accesses a virtual address (performs a load) for which
the corresponding physical address from the relevant Page Table Entry
(PTE) is allocated in the Level 1 Data Cache, then the data in the L1
Data Cache from that physical address may be forwarded to the load
instruction (and its dependents) during speculation, regardless of the
value of the "present" bit in the page table entry.

You can leave most of the rest. The EPT bit is simply a design bug that
layers on the above in how Intel bolted EPT onto the existing walks.

> 
> "load the into the speculation flow" ?
> 
> No idea what that means. I would just drop it.
> 
>> +the physical address which is referenced in the PTE address bits is
>> +available in the Level 1 Data Cache. This is a purely speculative
>> +mechanism and the instruction will raise a page fault when it is retired.
>> +
>> +This creates a window between the load and retirement where speculative
>> +execution can operate on the data and malicious code can use this to create
>> +a side channel to leak the speculated data which was accessed without
>> +permission.

-- 
Computer Architect | Sent from my Fedora powered laptop


  parent reply	other threads:[~2018-07-11 14:03 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-08 12:52 [patch 0/2] Command line and documentation 0 Thomas Gleixner
2018-07-08 12:52 ` [patch 1/2] Command line and documentation 1 Thomas Gleixner
2018-07-08 14:00   ` [MODERATED] " Josh Poimboeuf
2018-07-08 14:13     ` Thomas Gleixner
2018-07-08 15:21       ` [MODERATED] " Josh Poimboeuf
2018-07-09  7:07         ` Thomas Gleixner
2018-07-09 13:14           ` Thomas Gleixner
2018-07-09 13:21             ` [MODERATED] " Jiri Kosina
2018-07-09 13:25               ` Jiri Kosina
2018-07-09 15:32             ` Josh Poimboeuf
2018-07-09 15:40               ` Thomas Gleixner
2018-07-09 15:44               ` [MODERATED] " Jiri Kosina
2018-07-08 20:32   ` Jiri Kosina
2018-07-09  0:33     ` Jon Masters
2018-07-09 10:26   ` Ingo Molnar
2018-07-09 21:45   ` Andi Kleen
2018-07-09 22:08     ` Andi Kleen
2018-07-09 22:40     ` Jiri Kosina
2018-07-10 11:53     ` Thomas Gleixner
2018-07-08 12:52 ` [patch 2/2] Command line and documentation 2 Thomas Gleixner
2018-07-08 14:40   ` [MODERATED] " Andrew Cooper
2018-07-09  7:05     ` Thomas Gleixner
2018-07-08 15:40   ` [MODERATED] " Josh Poimboeuf
2018-07-09 11:04   ` Ingo Molnar
2018-07-09 11:08     ` Jiri Kosina
2018-07-09 11:47       ` Ingo Molnar
2018-07-09 15:18     ` Thomas Gleixner
2018-07-09 22:07   ` [MODERATED] " Andi Kleen
2018-07-09 23:00     ` Josh Poimboeuf
2018-07-09 23:11       ` Andi Kleen
2018-07-09 23:45         ` Linus Torvalds
2018-07-10  2:44           ` Josh Poimboeuf
2018-07-10  5:57             ` Jiri Kosina
2018-07-10  6:22               ` Jiri Kosina
2018-07-10 17:46             ` Linus Torvalds
2018-07-10 21:22               ` Thomas Gleixner
2018-07-10 21:30                 ` [MODERATED] " Linus Torvalds
2018-07-10 21:53                   ` Linus Torvalds
2018-07-10 22:27                     ` Thomas Gleixner
2018-07-10 22:37                       ` [MODERATED] " Linus Torvalds
2018-07-10 22:42                         ` Linus Torvalds
2018-07-10 22:50                       ` Josh Poimboeuf
2018-07-11 13:56                         ` Jon Masters
2018-07-11 14:48                           ` Josh Poimboeuf
2018-07-10 22:20                   ` Thomas Gleixner
2018-07-10 22:35                     ` [MODERATED] " Linus Torvalds
2018-07-10  7:41         ` Thomas Gleixner
2018-07-10  8:44           ` [MODERATED] " Jiri Kosina
2018-07-10 10:32             ` Jiri Kosina
2018-07-10 22:57             ` Josh Poimboeuf
2018-07-10 19:36     ` Thomas Gleixner
2018-07-11 14:03     ` Jon Masters [this message]
2018-07-08 13:11 ` [patch 0/2] Command line and documentation 0 Thomas Gleixner

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=77394908-cc25-c7ff-e2b2-65e6a429a179@redhat.com \
    --to=jcm@redhat.com \
    --cc=speck@linutronix.de \
    /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.