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.
Signed-off-by: Zhenzhong Duan <[email protected]>
---
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;
}
--
1.8.3.1
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 <[email protected]>
> ---
> 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;
> }
On Tue, Oct 20, 2020 at 2:32 PM Jason Wang <[email protected]> wrote:
>
>
> 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.
I didn't see an issue without this patch.
Regards
Zhenzhong