Re: [PATCH 5/6] KVM: Don't BUG() the kernel if xa_insert() fails with -EBUSY

Gupta, Pankaj
2024-10-10T05:33:23Z

> WARN once instead of triggering a BUG if xa_insert() fails because it
> encountered an existing entry. While KVM guarantees there should be no
> existing entry, there's no reason to BUG the kernel, as KVM needs to
> gracefully handle failure anyways.
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>

Reviewed-by: Pankaj Gupta <pankaj.gupta@amd.com>

> ---
> virt/kvm/kvm_main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index f081839521ef..ae216256ee9d 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -4284,7 +4284,7 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, unsigned long id)
>
> vcpu->vcpu_idx = atomic_read(&kvm->online_vcpus);
> r = xa_insert(&kvm->vcpu_array, vcpu->vcpu_idx, vcpu, GFP_KERNEL_ACCOUNT);
> - BUG_ON(r == -EBUSY);
> + WARN_ON_ONCE(r == -EBUSY);
> if (r)
> goto unlock_vcpu_destroy;
>