All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Wujie Duan <wjduan@linx-info.com>
Cc: zhaotianrui@loongson.cn, maobibo@loongson.cn,
	chenhuacai@kernel.org,  kernel@xen0n.name, kvm@vger.kernel.org,
	loongarch@lists.linux.dev,  linux-kernel@vger.kernel.org
Subject: Re: [PATCH] KVM: loongarch: Add vcpu id check before create vcpu
Date: Fri, 12 Apr 2024 11:41:48 -0700	[thread overview]
Message-ID: <ZhmAbBGOvldKdkZu@google.com> (raw)
In-Reply-To: <20240412084703.1407412-1-wjduan@linx-info.com>

On Fri, Apr 12, 2024, Wujie Duan wrote:
> Add a pre-allocation arch condition to checks that vcpu id should
> smaller than max_vcpus
> 
> Signed-off-by: Wujie Duan <wjduan@linx-info.com>
> ---
>  arch/loongarch/kvm/vcpu.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/loongarch/kvm/vcpu.c b/arch/loongarch/kvm/vcpu.c
> index 3a8779065f73..d41cacf39583 100644
> --- a/arch/loongarch/kvm/vcpu.c
> +++ b/arch/loongarch/kvm/vcpu.c
> @@ -884,6 +884,9 @@ long kvm_arch_vcpu_async_ioctl(struct file *filp,
>  
>  int kvm_arch_vcpu_precreate(struct kvm *kvm, unsigned int id)
>  {
> +	if (id >= kvm->max_vcpus)
> +		return -EINVAL;

Do you have a testcase for this?  If I'm following the LoongArch code correctly,
I don't think this is actually necessary.

In arch/loongarch/include/asm/kvm_host.h:

  #define KVM_MAX_VCPUS			256

without a #define KVM_MAX_VCPU_IDS in loongarch/, AFAICT.  And so the common
code in include/linux/kvm_host.h will do:

  #ifndef KVM_MAX_VCPU_IDS
  #define KVM_MAX_VCPU_IDS KVM_MAX_VCPUS
  #endif

LoongArch's kvm_vm_ioctl_check_extension() reports that to userspace:

	case KVM_CAP_MAX_VCPU_ID:
		r = KVM_MAX_VCPU_IDS;

and the common kvm_vm_ioctl_create_vcpu() does:

	if (id >= KVM_MAX_VCPU_IDS)
		return -EINVAL;

and the common kvm_create_vm() does:

	kvm->max_vcpus = KVM_MAX_VCPUS;

with again no override of max_vcpus in LoongArch or common KVM.  So unless I'm
missing something, manually checking max_vcpus in LoongArch's kvm_arch_vcpu_precreate()
is unnecessary.

  parent reply	other threads:[~2024-04-12 18:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-12  8:47 [PATCH] KVM: loongarch: Add vcpu id check before create vcpu Wujie Duan
2024-04-12  8:58 ` maobibo
2024-04-12 18:41 ` Sean Christopherson [this message]
2024-04-15  2:04   ` maobibo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZhmAbBGOvldKdkZu@google.com \
    --to=seanjc@google.com \
    --cc=chenhuacai@kernel.org \
    --cc=kernel@xen0n.name \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=loongarch@lists.linux.dev \
    --cc=maobibo@loongson.cn \
    --cc=wjduan@linx-info.com \
    --cc=zhaotianrui@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.