From: Monam Agarwal <monamagarwal123@gmail.com>
Date: Sun, 23 Mar 2014 18:28:27 +0000 (+0530)
Subject: dm: use RCU_INIT_POINTER instead of rcu_assign_pointer in __unbind
X-Git-Tag: firefly_0821_release~176^2~3962^2~19
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9cdb8520049629271ad411ac91ab1bea3e1cfa2b;p=firefly-linux-kernel-4.4.55.git

dm: use RCU_INIT_POINTER instead of rcu_assign_pointer in __unbind

Replace rcu_assign_pointer(p, NULL) with RCU_INIT_POINTER(p, 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>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
---

diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 0d52f6ff2a1e..6382213dbd88 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -2163,7 +2163,7 @@ static struct dm_table *__unbind(struct mapped_device *md)
 		return NULL;
 
 	dm_table_event_callback(map, NULL, NULL);
-	rcu_assign_pointer(md->map, NULL);
+	RCU_INIT_POINTER(md->map, NULL);
 	dm_sync_table(md);
 
 	return map;