On 01/12/20 16:33, Pavel Machek wrote:
Hi!

- in order to tell userspace we will inject its interrupt ("IRQ
   window open" i.e. kvm_vcpu_ready_for_interrupt_injection), both
   KVM and the vCPU need to be ready to accept the interrupt.

... and this is what the patch implements.

Reported-by: David Woodhouse <d...@amazon.co.uk>
Analyzed-by: David Woodhouse <d...@amazon.co.uk>
Cc: sta...@vger.kernel.org

This makes no difference for -stable, but the patch is confused about
types:

+++ b/arch/x86/kvm/x86.c
@@ -3351,21 +3351,23 @@ static int kvm_vcpu_ioctl_set_lapic(stru
static int kvm_cpu_accept_dm_intr(struct kvm_vcpu *vcpu)
  {
+       /*
+        * We can accept userspace's request for interrupt injection
+        * as long as we have a place to store the interrupt number.
+        * The actual injection will happen when the CPU is able to
+        * deliver the interrupt.
+        */
+       if (kvm_cpu_has_extint(vcpu))
+               return false;

Since function is "static int" it should probably return 0.

Other way round, it should return static bool. :) At least it's consistently returning a boolean expression, never e.g. negative errno.

Paolo

Reply via email to