Re: [PATCH 1/3] KVM: PPC: Book3S HV: Stop returning internal values to userspace
From: Nicholas Piggin <npiggin@gmail.com>
Date: 2021-12-25 10:12:10
Excerpts from Fabiano Rosas's message of December 24, 2021 7:15 am:
Our kvm_arch_vcpu_ioctl_run currently returns the RESUME_HOST values to userspace, against the API of the KVM_RUN ioctl which returns 0 on success. Signed-off-by: Fabiano Rosas <redacted> --- This was noticed while enabling the kvm selftests for powerpc. There's an assert at the _vcpu_run function when we return a value different from the expected.
That's nasty. Looks like qemu never touches the return value except if it was < 0, so hopefully should be okay. Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
quoted hunk ↗ jump to hunk
--- arch/powerpc/kvm/powerpc.c | 8 ++++++++ 1 file changed, 8 insertions(+)diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c index a72920f4f221..1e130bb087c4 100644 --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c@@ -1849,6 +1849,14 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu) #ifdef CONFIG_ALTIVEC out: #endif + + /* + * We're already returning to userspace, don't pass the + * RESUME_HOST flags along. + */ + if (r > 0) + r = 0; + vcpu_put(vcpu); return r; }-- 2.33.1