Fixes for Spectre

By: Travis (travis.downs.delete@this.gmail.com), January 3, 2018 11:17 pm
Room: Moderated Discussions
anon (anon.delete@this.anon.com) on January 3, 2018 10:11 pm wrote:
> Spectre is very different and more concerning. Possible fix in hardware is to avoid updating measurable
> microarchitectural state until completion. But that would be a huge and costly change in hardware, like
> a cache line load will have to go directly from whatever part of the memory hierarchy it already lives
> in, straight to the CPU core, then the core will have to write it back to a closer cache on completion.
> Branch predictor can be measurable too, so might have to change how that's updated. etc

Well another fix would be to flush all the prediction state at security boundaries, so you can't (for example) affect behavior in the kernel by training in user-space. Apparently at least some of that flushing is even even possible via microcode update.

There would be a performance impact with that technique: not because the kernel usefully uses the prediction state built up from user-space (after all, it's running different code), but because the state will be gone on return to user-space. The impact is low compared to cache or TLB flushes however since it takes only a few branches to train up again and the impact is fairly small (usually less than 20 cycles) compared to cache misses.

< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Fixes for SpectreTapa Ghosh2018/01/03 10:38 PM
  Fixes for SpectreDavid Hess2018/01/03 10:48 PM
    Fixes for SpectreTravis2018/01/03 11:05 PM
      Fixes for Spectre Tapa Ghosh2018/01/04 08:02 AM
        Fixes for SpectreTravis2018/01/04 01:41 PM
          Fixes for SpectreBill smokeson2018/01/04 02:19 PM
            Fixes for SpectreTravis2018/01/04 02:36 PM
        Fixes for Spectreanon2018/01/04 02:52 PM
    Fixes for Spectreanon2018/01/03 11:11 PM
      Fixes for SpectreTravis2018/01/03 11:17 PM
        Fixes for Spectreanon2018/01/04 12:05 AM
          Fixes for SpectreTravis2018/01/04 01:54 PM
  ISA changes = overkill?Jeff S2018/01/04 01:15 AM
    ISA changes = overkill?Michael S2018/01/04 02:15 AM
      ISA changes = overkill?Maynard Handley2018/01/04 03:50 AM
    ISA changes = overkill?anon2018/01/04 03:05 AM
  Fixes for SpectreMaynard Handley2018/01/04 03:46 AM
    Fixes for Spectreanon2018/01/04 04:33 AM
      Fixes for Spectresligor2018/01/04 07:53 AM
      Fixes for Spectre Tapa Ghosh2018/01/04 08:04 AM
        Fixes for Spectresylt2018/01/04 08:40 AM
          Fixes for SpectreAndrew Clough2018/01/04 09:52 AM
            Fixes for SpectreMichael S2018/01/04 10:01 AM
            Fixes for SpectreAndrew Clough2018/01/04 12:10 PM
              Fixes for Spectreanon2018/01/04 01:32 PM
          Fixes for Spectresligor2018/01/04 10:47 AM
    Fixes for SpectreMegol2018/01/04 08:39 AM
  Fixes for Spectreanon2018/01/04 03:56 AM
  Software Fixes for Spectreoctoploid2018/01/04 04:26 AM
    Retpolineanonymou52018/01/04 07:58 AM
    retpoline performance costMichael S2018/01/04 10:42 AM
      retpoline performance costanon2018/01/04 10:56 AM
        retpoline performance costMichael S2018/01/04 01:19 PM
          retpoline performance costTravis2018/01/04 02:06 PM
            retpoline performance costTravis2018/01/04 02:32 PM
              retpoline performance costanon2018/01/04 08:36 PM
                retpoline performance costTravis2018/01/05 02:13 PM
        retpoline performance costMontaray Jack2018/01/04 01:21 PM
  Fixes for SpectrePaolo2018/01/04 08:49 AM
    Fixes for SpectreTravis2018/01/04 01:31 PM
      Fixes for SpectreTravis2018/01/04 01:32 PM
      Fixes for SpectrePaolo2018/01/04 06:32 PM
        Fixes for SpectreTravis2018/01/05 05:47 PM
  Would skewed associativity be helpful?Paul A. Clayton2018/01/05 07:09 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell avocado?