]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
KVM: x86: Nullify irqfd->producer if updating IRTE for bypass fails
authorleixiang <leixiang@kylinos.cn>
Mon, 22 Jun 2026 07:51:01 +0000 (15:51 +0800)
committerSean Christopherson <seanjc@google.com>
Wed, 8 Jul 2026 16:43:20 +0000 (09:43 -0700)
commited446e8aa894883c08892cfee69782fdf8f6c3ca
treeda47193923dc4934156fdf1dc69e7b24dca61615
parent8cdeaa50eae8dad34885515f62559ee83e7e8dda
KVM: x86: Nullify irqfd->producer if updating IRTE for bypass fails

Nullify irqfd->producer if updating the IRTE for bypass fails, as leaving a
dangling pointer will result in a use-after-free if the irqfd is reachable
through KVM's routing, but the producer is freed separately.  E.g. for VFIO
PCI, the producer is embedded in struct "vfio_pci_irq_ctx" and freed when
the vector is disabled, which can happen independent of routing updates.

Fixes: 77e1b8332d1d ("KVM: x86: Decouple device assignment from IRQ bypass")
Cc: stable@vger.kernel.org
Signed-off-by: leixiang <leixiang@kylinos.cn>
Link: https://patch.msgid.link/1782119051448443.14545.seg@mailgw.kylinos.cn
[sean: drop PPC change, massage changelog]
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/irq.c