Re: [PATCH v3 08/15] KVM: WARN and reject guest-based uaccess if VM is dying
From: James Houghton
Date: Tue Oct 27 2026 - 20:27:15 EST
On Tue, Oct 27, 2026 at 3:12 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
>
> WARN and reject user accesses to guest memory if the associated VM is dying
> even if the current address space happens to be the correct address space.
> Accessing guest memory after the last reference to the VM has been put may
> be "fine" from a safety perspective, but it's still a KVM bug.
>
> Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
Reviewed-by: James Houghton <jthoughton@xxxxxxxxxx>
> ---
> include/linux/kvm_host.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
> index f3f59bdf7e18..ba8ea62b7304 100644
> --- a/include/linux/kvm_host.h
> +++ b/include/linux/kvm_host.h
> @@ -1355,7 +1355,8 @@ int kvm_gfn_to_hva_cache_init(struct kvm *kvm, struct gfn_to_hva_cache *ghc,
>
> static __always_inline __must_check bool kvm_can_do_uaccess(struct kvm *kvm)
> {
> - return !WARN_ON_ONCE(current->mm != kvm->mm);
> + return !WARN_ON_ONCE(current->mm != kvm->mm ||
> + !refcount_read(&kvm->users_count));
> }
>
> #define BUILD_KVM_COPY_USER_WRAPPER(fn, to_user, from_user) \
> --
> 2.56.0.307.g5fe7bd680c-goog
>