Re: [PATCH v2 5/6] rcuwait: Annotate task_struct with __rcu

From: Paul E. McKenney
Date: Mon Feb 25 2019 - 16:11:53 EST


On Sat, Feb 23, 2019 at 01:34:33AM -0500, Joel Fernandes (Google) wrote:
> This suppresses sparse error generated due to the recently added
> rcu_assign_pointer sparse check.
>
> percpu-rwsem.c:162:9: sparse: error: incompatible types in comparison expression
> exit.c:316:16: sparse: error: incompatible types in comparison expression
>
> Signed-off-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>

>From an RCU perspective:

Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxx>

> ---
> 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..563290fc194f 100644
> --- a/include/linux/rcuwait.h
> +++ b/include/linux/rcuwait.h
> @@ -18,7 +18,7 @@
> * awoken.
> */
> struct rcuwait {
> - struct task_struct *task;
> + struct task_struct __rcu *task;
> };
>
> #define __RCUWAIT_INITIALIZER(name) \
> --
> 2.21.0.rc0.258.g878e2cd30e-goog
>