Re: [PATCH v3 4/4] KVM: guest_memfd: Drop superfluous WRITE_ONCE() when binding a memslot

From: Ackerley Tng

Date: Wed Sep 09 2026 - 19:06:58 EST


Sean Christopherson <seanjc@xxxxxxxxxx> writes:

> Drop the superfluous WRITE_ONCE() when setting a memslot's guest_memfd file
> during initial binding, as the memslot *must* be inactive and unreachable.
> The superfluous WRITE_ONCE() was added by commit 67b43038ce14 ("KVM:
> guest_memfd: Remove RCU-protected attribute from slot->gmem.file") to
> maintain rough "parity" with the existing rcu_assign_pointer(), not
> realizing that the only reason rcu_assign_pointer() was used was to make
> sparse and other checkers happy.
>
> Cc: Yan Zhao <yan.y.zhao@xxxxxxxxx>
> Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
> ---
> virt/kvm/guest_memfd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c
> index 0b48e9a775aa..6c8df67382fc 100644
> --- a/virt/kvm/guest_memfd.c
> +++ b/virt/kvm/guest_memfd.c
> @@ -653,7 +653,7 @@ int kvm_gmem_bind(struct kvm *kvm, struct kvm_memory_slot *slot,
> * kvm_gmem_bind() must occur on a new memslot. Because the memslot
> * is not visible yet, kvm_gmem_get_pfn() is guaranteed to see the file.
> */
> - WRITE_ONCE(slot->gmem.file, file);
> + slot->gmem.file = file;
> slot->gmem.pgoff = start;
> if (kvm_gmem_supports_mmap(inode))
> slot->flags |= KVM_MEMSLOT_GMEM_ONLY;
> --
> 2.55.0.979.g7e5102b832-goog

Reviewed-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>