[RFC 5/5] rcuwait: Replace rcu_assign_pointer with smp_store_release

From: Joel Fernandes (Google)
Date: Tue Feb 19 2019 - 23:09:24 EST


From: Joel Fernandes <joel@xxxxxxxxxxxxxxxxx>

This suppresses a sparse error generated to the recently added
rcu_assign_pointer sparse check:

>> kernel//locking/percpu-rwsem.c:162:9: sparse: error: incompatible
types in comparison expression (different address spaces)

Signed-off-by: Joel Fernandes <joel@xxxxxxxxxxxxxxxxx>
---
include/linux/rcuwait.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/rcuwait.h b/include/linux/rcuwait.h
index 90bfa3279a01..da613efee45c 100644
--- a/include/linux/rcuwait.h
+++ b/include/linux/rcuwait.h
@@ -44,7 +44,7 @@ extern void rcuwait_wake_up(struct rcuwait *w);
*/ \
WARN_ON(current->exit_state); \
\
- rcu_assign_pointer((w)->task, current); \
+ smp_store_release(&((w)->task), current); \
for (;;) { \
/* \
* Implicit barrier (A) pairs with (B) in \
--
2.21.0.rc0.258.g878e2cd30e-goog