Clarify a comment in kvm/eventfd.c: we do rcu_assign_pointer without explicit synchronize_rcu afterwards, and the reason this works is because we use a spinlock to synch against another place which does call synchronize_rcu. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> --- diff --git a/virt/kvm/eventfd.c b/virt/kvm/eventfd.c index 2ca4535..e347b53 100644 --- a/virt/kvm/eventfd.c +++ b/virt/kvm/eventfd.c @@ -313,8 +313,9 @@ kvm_irqfd_deassign(struct kvm *kvm, int fd, int gsi) if (irqfd->eventfd == eventfd && irqfd->gsi == gsi) { /* * This rcu_assign_pointer is needed for when - * another thread calls kvm_irqfd_update before - * we flush workqueue below. + * another thread calls kvm_irq_routing_update before + * we flush workqueue below (we synchronize with + * kvm_irq_routing_update using irqfds.lock). * It is paired with synchronize_rcu done by caller * of that function. */ -- MST -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html