A reworked version of the opt-in L1D flush mechanism:

  A stop gap for potential future speculation related hardware
  vulnerabilities and a mechanism for truly security paranoid
  applications.

  It allows a task to request that the L1D cache is flushed when the kernel
  switches to a different mm. This can be requested via prctl().

  Changes vs. the previous versions:

    - Get rid of the software flush fallback

    - Make the handling consistent with other mitigations

    - Kill the task when it ends up on a SMT enabled core which defeats the
      purpose of L1D flushing obviously
Documentation: Add L1D flushing Documentation

Add documentation of l1d flushing, explain the need for the
feature and how it can be used.

Signed-off-by: Balbir Singh <sblbir@amazon.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20210108121056.21940-6-sblbir@amazon.com
4 files changed