Message ID | 20211223211528.3560711-2-farosas@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | KVM: PPC: Minor fixes | expand |
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 <farosas@linux.ibm.com> > --- > 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> > --- > 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 > >
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; }
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 <farosas@linux.ibm.com> --- 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. --- arch/powerpc/kvm/powerpc.c | 8 ++++++++ 1 file changed, 8 insertions(+)