lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAAhV-H5BAN68S5uYkSKwnU2yatoz-w5aGFak-ivMWwJkeZLjWg@mail.gmail.com>
Date: Mon, 11 Aug 2025 21:23:46 +0800
From: Huacai Chen <chenhuacai@...nel.org>
To: Bibo Mao <maobibo@...ngson.cn>
Cc: Song Gao <gaosong@...ngson.cn>, zhaotianrui@...ngson.cn, lixianglai@...ngson.cn, 
	loongarch@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] LoongArch: KVM: Use kvm_get_vcpu_by_id() instead of kvm_get_vcpu()

On Mon, Aug 11, 2025 at 6:53 PM Bibo Mao <maobibo@...ngson.cn> wrote:
>
>
>
> On 2025/8/11 上午10:55, Song Gao wrote:
> > Use kvm_get_vcpu() may can't get vcpu context, use kvm_get_vcpu_by_id()
> > instead of kvm_get_vcpu().
> >
> > Signed-off-by: Song Gao <gaosong@...ngson.cn>
> > ---
> >   arch/loongarch/kvm/intc/eiointc.c | 5 ++++-
> >   arch/loongarch/kvm/intc/ipi.c     | 2 +-
> >   2 files changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/loongarch/kvm/intc/eiointc.c b/arch/loongarch/kvm/intc/eiointc.c
> > index a3a12af9ecbf..5180da91d2e6 100644
> > --- a/arch/loongarch/kvm/intc/eiointc.c
> > +++ b/arch/loongarch/kvm/intc/eiointc.c
> > @@ -45,7 +45,10 @@ static void eiointc_update_irq(struct loongarch_eiointc *s, int irq, int level)
> >       }
> >
> >       cpu = s->sw_coremap[irq];
> > -     vcpu = kvm_get_vcpu(s->kvm, cpu);
> > +     vcpu = kvm_get_vcpu_by_id(s->kvm, cpu);
> > +     if (unlikely(vcpu == NULL)) {
> > +             return;
> > +     }
> Brace {} is unnecessary with kernel coding style :), just something like
> this:
>         if (unlikely(vcpu == NULL))
>                 return;
>
> The other looks good to me.
Maybe add a print statement the same as kvm_ipi_regs_access()?

Huacai

>
> Regards
> Bibo Mao
> >       if (level) {
> >               /* if not enable return false */
> >               if (!test_bit(irq, (unsigned long *)s->enable.reg_u32))
> > diff --git a/arch/loongarch/kvm/intc/ipi.c b/arch/loongarch/kvm/intc/ipi.c
> > index e658d5b37c04..0348a83a7ed7 100644
> > --- a/arch/loongarch/kvm/intc/ipi.c
> > +++ b/arch/loongarch/kvm/intc/ipi.c
> > @@ -298,7 +298,7 @@ static int kvm_ipi_regs_access(struct kvm_device *dev,
> >       cpu = (attr->attr >> 16) & 0x3ff;
> >       addr = attr->attr & 0xff;
> >
> > -     vcpu = kvm_get_vcpu(dev->kvm, cpu);
> > +     vcpu = kvm_get_vcpu_by_id(dev->kvm, cpu);
> >       if (unlikely(vcpu == NULL)) {
> >               kvm_err("%s: invalid target cpu: %d\n", __func__, cpu);
> >               return -EINVAL;
> >
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ