On 2020/10/19 下午5:06, Zhenzhong Duan wrote:
In case failure to setup Post interrupt for an IRQ, it make no sense
to assign irqfd->producer to the producer.

This change makes code more robust.


It's better to describe what issue we will get without this patch.

Thanks



Signed-off-by: Zhenzhong Duan <zhenzhong.d...@gmail.com>
---
  arch/x86/kvm/x86.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index ce856e0..277e961 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -10683,13 +10683,14 @@ int kvm_arch_irq_bypass_add_producer(struct 
irq_bypass_consumer *cons,
                container_of(cons, struct kvm_kernel_irqfd, consumer);
        int ret;
- irqfd->producer = prod;
        kvm_arch_start_assignment(irqfd->kvm);
        ret = kvm_x86_ops.update_pi_irte(irqfd->kvm,
                                         prod->irq, irqfd->gsi, 1);
if (ret)
                kvm_arch_end_assignment(irqfd->kvm);
+       else
+               irqfd->producer = prod;
return ret;
  }

Reply via email to