summaryrefslogtreecommitdiff
path: root/include/linux/workqueue_api.h
diff options
context:
space:
mode:
authorFuad Tabba <fuad.tabba@linux.dev>2026-08-02 16:08:45 +0100
committerOliver Upton <oupton@kernel.org>2026-08-11 10:41:13 -0700
commit43347154e7ab642474c886bc54ad090166c0d9c9 (patch)
treeed4310739642fe996420cec5f5db1bed6cc4ff06 /include/linux/workqueue_api.h
parentc6d9c8ac6521d3049ec90ac58bebd23ed03ac496 (diff)
KVM: arm64: vgic: Reset in_kernel on private IRQ allocation failure
kvm_vgic_create() sets vgic.in_kernel before allocating the per-vCPU private IRQs, but the allocation-failure path resets only vgic_model and leaves in_kernel set. As irqchip_in_kernel() is !!in_kernel, the VM is left with an in-kernel irqchip but no model, and the -EEXIST guard at the top of kvm_vgic_create() rejects every retry, so userspace cannot recover from a transient -ENOMEM. Reset in_kernel alongside vgic_model on the failure path. Fixes: 9435c1e1431003 ("KVM: arm64: gic: Set vgic_model before initing private IRQs") Cc: stable@vger.kernel.org Signed-off-by: Fuad Tabba <fuad.tabba@linux.dev> Acked-by: Marc Zyngier <maz@kernel.org> Link: https://patch.msgid.link/20260802150845.3485757-1-fuad.tabba@linux.dev Signed-off-by: Oliver Upton <oupton@kernel.org>
Diffstat (limited to 'include/linux/workqueue_api.h')
0 files changed, 0 insertions, 0 deletions