x86/retbleed: Add X86_FEATURE_CALL_DEPTH
authorThomas Gleixner <tglx@linutronix.de>
Thu, 15 Sep 2022 11:11:19 +0000 (13:11 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 17 Oct 2022 14:41:11 +0000 (16:41 +0200)
commit80e4c1cd42fff110bfdae8fce7ac4f22465f9664
tree72eb9d2152e2c6af9f82d92c4508302b0d044fe8
parentbea75b33895f7f87f0c40023e36a2d087e87ffa1
x86/retbleed: Add X86_FEATURE_CALL_DEPTH

Intel SKL CPUs fall back to other predictors when the RSB underflows. The
only microcode mitigation is IBRS which is insanely expensive. It comes
with performance drops of up to 30% depending on the workload.

A way less expensive, but nevertheless horrible mitigation is to track the
call depth in software and overeagerly fill the RSB when returns underflow
the software counter.

Provide a configuration symbol and a CPU misfeature bit.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220915111147.056176424@infradead.org
arch/x86/Kconfig
arch/x86/include/asm/cpufeatures.h
arch/x86/include/asm/disabled-features.h