@@ -273,7 +273,7 @@ static void irqfd_update(struct kvm *kvm, struct _irqfd *irqfd,
struct kvm_kernel_irq_routing_entry *e;
if (irqfd->gsi >= irq_rt->nr_rt_entries) {
- rcu_assign_pointer(irqfd->irq_entry, NULL);
+ RCU_INIT_POINTER(irqfd->irq_entry, NULL);
return;
}
@@ -282,7 +282,7 @@ static void irqfd_update(struct kvm *kvm, struct _irqfd *irqfd,
if (e->type == KVM_IRQ_ROUTING_MSI)
rcu_assign_pointer(irqfd->irq_entry, e);
else
- rcu_assign_pointer(irqfd->irq_entry, NULL);
+ RCU_INIT_POINTER(irqfd->irq_entry, NULL);
}
}
@@ -468,7 +468,7 @@ kvm_irqfd_deassign(struct kvm *kvm, struct kvm_irqfd *args)
* It is paired with synchronize_rcu done by caller
* of that function.
*/
- rcu_assign_pointer(irqfd->irq_entry, NULL);
+ RCU_INIT_POINTER(irqfd->irq_entry, NULL);
irqfd_deactivate(irqfd);
}
}
This patch replaces rcu_assign_pointer(x, NULL) with RCU_INIT_POINTER(x, NULL) The rcu_assign_pointer() ensures that the initialization of a structure is carried out before storing a pointer to that structure. And in the case of the NULL pointer, there is no structure to initialize. So, rcu_assign_pointer(p, NULL) can be safely converted to RCU_INIT_POINTER(p, NULL) Signed-off-by: Monam Agarwal <monamagarwal123@gmail.com> --- virt/kvm/eventfd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)