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 <monamagarwal...@gmail.com> --- kernel/events/core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kernel/events/core.c b/kernel/events/core.c index fa0b2d4..8c22758 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -3247,7 +3247,7 @@ static void free_event(struct perf_event *event) mutex_lock(&event->mmap_mutex); rb = event->rb; if (rb) { - rcu_assign_pointer(event->rb, NULL); + RCU_INIT_POINTER(event->rb, NULL); ring_buffer_detach(event, rb); ring_buffer_put(rb); /* could be last */ } @@ -3938,7 +3938,7 @@ static void perf_mmap_close(struct vm_area_struct *vma) return; /* Detach current event from the buffer. */ - rcu_assign_pointer(event->rb, NULL); + RCU_INIT_POINTER(event->rb, NULL); ring_buffer_detach(event, rb); mutex_unlock(&event->mmap_mutex); @@ -3977,7 +3977,7 @@ again: * iterating the wrong list. */ if (event->rb == rb) { - rcu_assign_pointer(event->rb, NULL); + RCU_INIT_POINTER(event->rb, NULL); ring_buffer_detach(event, rb); ring_buffer_put(rb); /* can't be last, we still have one */ } @@ -5690,7 +5690,7 @@ static void swevent_hlist_release(struct swevent_htable *swhash) if (!hlist) return; - rcu_assign_pointer(swhash->swevent_hlist, NULL); + RCU_INIT_POINTER(swhash->swevent_hlist, NULL); kfree_rcu(hlist, rcu_head); } -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/