[PATCH 02/20] KVM: selftests: Sync dirty_log_test iteration to guest *before* resuming

Sean Christopherson
2024-12-14T01:07:27Z

Sync the new iteration to the guest prior to restarting the vCPU, otherwise
it's possible for the vCPU to dirty memory for the next iteration using the
current iteration's value.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
tools/testing/selftests/kvm/dirty_log_test.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/kvm/dirty_log_test.c b/tools/testing/selftests/kvm/dirty_log_test.c
index cdae103314fc..41c158cf5444 100644
--- a/tools/testing/selftests/kvm/dirty_log_test.c
+++ b/tools/testing/selftests/kvm/dirty_log_test.c
@@ -859,9 +859,9 @@ static void run_test(enum vm_guest_mode mode, void *arg)
*/
if (++iteration == p->iterations)
WRITE_ONCE(host_quit, true);
-
- sem_post(&sem_vcpu_cont);
sync_global_to_guest(vm, iteration);
+
+ sem_post(&sem_vcpu_cont);
}

pthread_join(vcpu_thread, NULL);
--
2.47.1.613.gc27f4b7a9f-goog