History

Merge tag 'x86-cpu-2021-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 cache flush updates from Thomas Gleixner: "A reworked version of the opt-in L1D flush mechanism. This is 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" * tag 'x86-cpu-2021-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: Documentation: Add L1D flushing Documentation x86, prctl: Hook L1D flushing in via prctl x86/mm: Prepare for opt-in based L1D flush in switch_mm() x86/process: Make room for TIF_SPEC_L1D_FLUSH sched: Add task_work callback for paranoid L1D flush x86/mm: Refactor cond_ibpb() to support other use cases x86/smp: Add a per-cpu view of SMT state

Linus Torvalds committed 5 years ago

Commit 0a096f22 parents 7d6e3fa b7fe54f15 files · +281 −28Browse files

Showing the changes to include/uapi (1 of 15 files). Show all

Unified · Split

include/uapi/linux/prctl.h+1−0
@@ -213,6 +213,7 @@ struct prctl_mm_map { · 212 unmodified lines
213213 /* Speculation control variants */
214214 # define PR_SPEC_STORE_BYPASS 0
215215 # define PR_SPEC_INDIRECT_BRANCH 1
216+# define PR_SPEC_L1D_FLUSH 2
216217 /* Return and control values for PR_SET/GET_SPECULATION_CTRL */
217218 # define PR_SPEC_NOT_AFFECTED 0
218219 # define PR_SPEC_PRCTL (1UL << 0)