Exit to userspace when emulating an atomic guest access if the CMPXCHG on
the userspace address faults.  Emulating the access as a write and thus
likely treating it as emulated MMIO is wrong, as KVM has already
confirmed there is a valid, writable memslot.
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <
20220202004945.
2540433-6-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
        }
 
        if (r < 0)
-               goto emul_write;
+               return X86EMUL_UNHANDLEABLE;
        if (r)
                return X86EMUL_CMPXCHG_FAILED;