summaryrefslogtreecommitdiffstats
path: root/include/kvm
diff options
context:
space:
mode:
authorOliver Upton <oliver.upton@linux.dev>2024-02-21 05:42:50 +0000
committerOliver Upton <oliver.upton@linux.dev>2024-02-23 21:46:02 +0000
commita5c7f011cb584a4713b3defc533ed55e237210a4 (patch)
tree56ea312c5bb35e820cdd8fa1fc76abdc4d36be8c /include/kvm
parent05f4d4f5d462618150a199bf26fd442b54b5d41a (diff)
downloadlinux-stable-a5c7f011cb584a4713b3defc533ed55e237210a4.tar.gz
linux-stable-a5c7f011cb584a4713b3defc533ed55e237210a4.tar.bz2
linux-stable-a5c7f011cb584a4713b3defc533ed55e237210a4.zip
KVM: arm64: vgic: Free LPI vgic_irq structs in an RCU-safe manner
Free the vgic_irq structs in an RCU-safe manner to allow reads of the LPI configuration data to happen in parallel with the release of LPIs. Reviewed-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20240221054253.3848076-8-oliver.upton@linux.dev Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
Diffstat (limited to 'include/kvm')
-rw-r--r--include/kvm/arm_vgic.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
index 71e9d719533b..47035946648e 100644
--- a/include/kvm/arm_vgic.h
+++ b/include/kvm/arm_vgic.h
@@ -117,6 +117,7 @@ struct irq_ops {
struct vgic_irq {
raw_spinlock_t irq_lock; /* Protects the content of the struct */
+ struct rcu_head rcu;
struct list_head ap_list;
struct kvm_vcpu *vcpu; /* SGIs and PPIs: The VCPU