diff options
author | 2018-07-18 19:07:38 +0200 | |
---|---|---|
committer | 2018-07-19 12:34:26 +0200 | |
commit | 288d152c23dcf3c09da46c5c481903ca10ebfef7 (patch) | |
tree | 927a16fa1bb8fd03461276fa6fb8c426c4c5753c /tools/perf/scripts/python/export-to-postgresql.py | |
parent | x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures (diff) | |
download | linux-dev-288d152c23dcf3c09da46c5c481903ca10ebfef7.tar.xz linux-dev-288d152c23dcf3c09da46c5c481903ca10ebfef7.zip |
x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content
The slow path in vmx_l1d_flush() reads from vmx_l1d_flush_pages in order
to evict the L1d cache.
However, these pages are never cleared and, in theory, their data could be
leaked.
More importantly, KSM could merge a nested hypervisor's vmx_l1d_flush_pages
to fewer than 1 << L1D_CACHE_ORDER host physical pages and this would break
the L1d flushing algorithm: L1D on x86_64 is tagged by physical addresses.
Fix this by initializing the individual vmx_l1d_flush_pages with a
different pattern each.
Rename the "empty_zp" asm constraint identifier in vmx_l1d_flush() to
"flush_pages" to reflect this change.
Fixes: a47dd5f06714 ("x86/KVM/VMX: Add L1D flush algorithm")
Signed-off-by: Nicolai Stange <nstange@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions