linux/tools/testing/selftests/kvm
Paolo Bonzini 76d58e0f07 KVM: fix KVM_CLEAR_DIRTY_LOG for memory slots of unaligned size
If a memory slot's size is not a multiple of 64 pages (256K), then
the KVM_CLEAR_DIRTY_LOG API is unusable: clearing the final 64 pages
either requires the requested page range to go beyond memslot->npages,
or requires log->num_pages to be unaligned, and kvm_clear_dirty_log_protect
requires log->num_pages to be both in range and aligned.

To allow this case, allow log->num_pages not to be a multiple of 64 if
it ends exactly on the last page of the slot.

Reported-by: Peter Xu <peterx@redhat.com>
Fixes: 98938aa8ed ("KVM: validate userspace input in kvm_clear_dirty_log_protect()", 2019-01-02)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-04-30 21:22:15 +02:00
..
include selftests: kvm: add a selftest for SMM 2019-04-16 15:38:06 +02:00
lib selftests: kvm: add a selftest for SMM 2019-04-16 15:38:06 +02:00
x86_64 selftests: kvm: add a selftest for SMM 2019-04-16 15:38:06 +02:00
.gitignore selftests: kvm: add selftest for releasing VM file descriptor while in L2 2019-02-12 13:12:12 +01:00
clear_dirty_log_test.c kvm: introduce manual dirty log reprotect 2018-12-14 12:34:19 +01:00
dirty_log_test.c KVM: fix KVM_CLEAR_DIRTY_LOG for memory slots of unaligned size 2019-04-30 21:22:15 +02:00
Makefile selftests: kvm: add a selftest for SMM 2019-04-16 15:38:06 +02:00