[GIT pull] Slow Randomizing Boosts Denial of Service
Thomas Gleixner <[email protected]> Sun, 07 Jun 2020 23:06:34 +0200
| Newsgroups | org.kernel.lore.historical-speck |
|---|---|
| Message-ID | <[email protected]> |
--=-=-=
Content-Type: text/plain
Subject: [GIT pull] x86/srbds: Special Register Buffer Data Sampling (SRBDS)
Linus,
please pull the x86/srbds branch from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/srbds
up to: 3798cc4d106e ("x86/speculation: Add Ivy Bridge to affected list")
The 9th episode of the dime novel "The performance killer" with the
subtitle "Slow Randomizing Boosts Denial of Service".
SRBDS is an MDS-like speculative side channel that can leak bits from the
random number generator (RNG) across cores and threads. New microcode
serializes the processor access during the execution of RDRAND and
RDSEED. This ensures that the shared buffer is overwritten before it is
released for reuse.
The mitigation support comes with the usual pile of unpleasent
ingredients:
- command line options
- sysfs file
- microcode checks
- a list of vulnerable CPUs
Thanks,
tglx
---
P.S. : The virtual tip branch is attached as bundle, based on
5.7-rc2 and still merges fine into mainline.
P.P.S: The backports will come in a separate mail.
--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=srbds-master
Content-Transfer-Encoding: base64
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
QIS5Bo5UADORf/o=
--=-=-=--