Re: [PATCH 1/2] riscv: kvm: return SBI_ERR_FAILURE for pmu_snapshot_set_shmem OOM
Anup Patel <[email protected]>
| Newsgroups | org.infradead.lists.kvm-riscv,org.infradead.lists.linux-riscv,org.kernel.vger.kvm,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <CAAhSdy1W_cQW0NfA6b3hX8CGtShZPgwbk1hhRB0jns6Dm+b9gg@mail.gmail.com> |
On Thu, May 14, 2026 at 11:06 PM Osama Abdelkader <[email protected]> wrote: > > kvm_riscv_vcpu_pmu_snapshot_set_shmem() returned -ENOMEM from the > SBI extension handler, which caused kvm_riscv_vcpu_sbi_ecall() to > abort KVM_RUN and surface the error to userspace instead of > ompleting the ECALL with a negative SBI error in a0. > Use SBI_ERR_FAILURE and the normal retdata path, matching other PMU > handlers and kvm_sbi_ext_pmu_handler comment. > > Fixes: c2f41ddbcdd7 ("RISC-V: KVM: Implement SBI PMU Snapshot feature") > Cc: [email protected] > Signed-off-by: Osama Abdelkader <[email protected]> LGTM. Reviewed-by: Anup Patel <[email protected]> Queued this as fix for Linux-7.1-rcX Thanks, Anup > --- > arch/riscv/kvm/vcpu_pmu.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/arch/riscv/kvm/vcpu_pmu.c b/arch/riscv/kvm/vcpu_pmu.c > index a935ed96bc17..91aa0155a420 100644 > --- a/arch/riscv/kvm/vcpu_pmu.c > +++ b/arch/riscv/kvm/vcpu_pmu.c > @@ -453,8 +453,10 @@ int kvm_riscv_vcpu_pmu_snapshot_set_shmem(struct kvm_vcpu *vcpu, unsigned long s > } > > kvpmu->sdata = kzalloc(snapshot_area_size, GFP_ATOMIC); > - if (!kvpmu->sdata) > - return -ENOMEM; > + if (!kvpmu->sdata) { > + sbiret = SBI_ERR_FAILURE; > + goto out; > + } > > /* No need to check writable slot explicitly as kvm_vcpu_write_guest does it internally */ > if (kvm_vcpu_write_guest(vcpu, saddr, kvpmu->sdata, snapshot_area_size)) { > -- > 2.43.0 > -- kvm-riscv mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kvm-riscv