Revision a835429cda91621fca915d80672a157b47738afb authored by Sean Christopherson on 25 March 2021, 20:01:17 UTC, committed by Paolo Bonzini on 30 March 2021, 17:19:55 UTC
When flushing a range of GFNs across multiple roots, ensure any pending
flush from a previous root is honored before yielding while walking the
tables of the current root.

Note, kvm_tdp_mmu_zap_gfn_range() now intentionally overwrites its local
"flush" with the result to avoid redundant flushes.  zap_gfn_range()
preserves and return the incoming "flush", unless of course the flush was
performed prior to yielding and no new flush was triggered.

Fixes: 1af4a96025b3 ("KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed")
Cc: stable@vger.kernel.org
Reviewed-by: Ben Gardon <bgardon@google.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20210325200119.1359384-2-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1 parent 1e28eed
History
File Mode Size
Kconfig -rw-r--r-- 7.8 KB
Makefile -rw-r--r-- 891 bytes
block.c -rw-r--r-- 5.8 KB
cache.c -rw-r--r-- 11.0 KB
decompressor.c -rw-r--r-- 3.3 KB
decompressor.h -rw-r--r-- 1.3 KB
decompressor_multi.c -rw-r--r-- 4.5 KB
decompressor_multi_percpu.c -rw-r--r-- 2.2 KB
decompressor_single.c -rw-r--r-- 1.7 KB
dir.c -rw-r--r-- 5.2 KB
export.c -rw-r--r-- 4.7 KB
file.c -rw-r--r-- 13.5 KB
file_cache.c -rw-r--r-- 887 bytes
file_direct.c -rw-r--r-- 4.1 KB
fragment.c -rw-r--r-- 2.6 KB
id.c -rw-r--r-- 3.0 KB
inode.c -rw-r--r-- 11.8 KB
lz4_wrapper.c -rw-r--r-- 2.9 KB
lzo_wrapper.c -rw-r--r-- 2.5 KB
namei.c -rw-r--r-- 6.8 KB
page_actor.c -rw-r--r-- 2.5 KB
page_actor.h -rw-r--r-- 1.9 KB
squashfs.h -rw-r--r-- 3.4 KB
squashfs_fs.h -rw-r--r-- 10.3 KB
squashfs_fs_i.h -rw-r--r-- 764 bytes
squashfs_fs_sb.h -rw-r--r-- 1.5 KB
super.c -rw-r--r-- 13.3 KB
symlink.c -rw-r--r-- 3.0 KB
xattr.c -rw-r--r-- 6.7 KB
xattr.h -rw-r--r-- 1.1 KB
xattr_id.c -rw-r--r-- 3.3 KB
xz_wrapper.c -rw-r--r-- 3.8 KB
zlib_wrapper.c -rw-r--r-- 2.6 KB
zstd_wrapper.c -rw-r--r-- 3.0 KB

back to top