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-- 1.4 KB
Makefile -rw-r--r-- 372 bytes
acl.c -rw-r--r-- 5.6 KB
addr.c -rw-r--r-- 55.4 KB
cache.c -rw-r--r-- 8.6 KB
cache.h -rw-r--r-- 4.2 KB
caps.c -rw-r--r-- 121.9 KB
ceph_frag.c -rw-r--r-- 401 bytes
debugfs.c -rw-r--r-- 11.8 KB
dir.c -rw-r--r-- 51.3 KB
export.c -rw-r--r-- 13.2 KB
file.c -rw-r--r-- 64.8 KB
inode.c -rw-r--r-- 65.4 KB
io.c -rw-r--r-- 4.5 KB
io.h -rw-r--r-- 387 bytes
ioctl.c -rw-r--r-- 7.5 KB
ioctl.h -rw-r--r-- 3.6 KB
locks.c -rw-r--r-- 12.9 KB
mds_client.c -rw-r--r-- 136.1 KB
mds_client.h -rw-r--r-- 17.3 KB
mdsmap.c -rw-r--r-- 10.2 KB
metric.c -rw-r--r-- 8.4 KB
metric.h -rw-r--r-- 4.1 KB
quota.c -rw-r--r-- 13.9 KB
snap.c -rw-r--r-- 32.0 KB
strings.c -rw-r--r-- 4.2 KB
super.c -rw-r--r-- 32.6 KB
super.h -rw-r--r-- 39.5 KB
util.c -rw-r--r-- 2.4 KB
xattr.c -rw-r--r-- 34.7 KB

back to top