On Thu, Aug 25, 2022 at 11:25:20PM +0000, Sean Christopherson wrote: > Fix a mostly-theoretical bug where ARM's ucall MMIO setup could result in > different VMs stomping on each other by cloberring the global pointer. > > Fix the most obvious issue by saving the MMIO gpa into the VM. > > A more subtle bug is that creating VMs in parallel (on multiple tasks) > could result in a VM using the wrong address. Synchronizing a global to > a guest effectively snapshots the value on a per-VM basis, i.e. the > "global" is already prepped to work with multiple VMs, but setting the > global in the host is not thread-safe. To fix that bug, add > write_guest_global() to allow stuffing a VM's copy of a "global" without > modifying the host value. > > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> > --- > .../selftests/kvm/include/kvm_util_base.h | 15 +++++++++++++++ > .../testing/selftests/kvm/lib/aarch64/ucall.c | 19 ++++++++++++++----- > 2 files changed, 29 insertions(+), 5 deletions(-) > Reviewed-by: Andrew Jones <andrew.jones@xxxxxxxxx> _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm