This suppresses a sparse error generated due to the recently added rcu_assign_pointer sparse check below. It seems WRITE_ONCE should be sufficient here. >> kernel//locking/percpu-rwsem.c:162:9: sparse: error: incompatible types in comparison expression (different address spaces) Signed-off-by: Joel Fernandes (Google) <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..9e5b4760e6c2 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); \ + WRITE_ONCE((w)->task, current); \ for (;;) { \ /* \ * Implicit barrier (A) pairs with (B) in \ -- 2.21.0.rc0.258.g878e2cd30e-goog