Re: [PATCH] kernel: Use RCU_INIT_POINTER(x, NULL) in tracepoint.c

From: Mathieu Desnoyers
Date: Mon Mar 24 2014 - 15:06:14 EST


----- Original Message -----
> From: "Monam Agarwal" <monamagarwal123@xxxxxxxxx>
> To: "mathieu desnoyers" <mathieu.desnoyers@xxxxxxxxxxxx>, rostedt@xxxxxxxxxxx, "keun-o park"
> <keun-o.park@xxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx
> Sent: Sunday, March 23, 2014 3:09:08 PM
> Subject: [PATCH] kernel: Use RCU_INIT_POINTER(x, NULL) in tracepoint.c
>
> 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)

This change makes sense. However, it would conflict with the changes
I'm proposing for 3.15, which are making this patch obsolete. This would
cause merging headaches for Steven. So it's his call.

Thanks,

Mathieu

>
> Signed-off-by: Monam Agarwal <monamagarwal123@xxxxxxxxx>
> ---
> kernel/tracepoint.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
> index 031cc56..72dfa96 100644
> --- a/kernel/tracepoint.c
> +++ b/kernel/tracepoint.c
> @@ -291,7 +291,7 @@ static void disable_tracepoint(struct tracepoint *elem)
>
> if (static_key_enabled(&elem->key))
> static_key_slow_dec(&elem->key);
> - rcu_assign_pointer(elem->funcs, NULL);
> + RCU_INIT_POINTER(elem->funcs, NULL);
> }
>
> /**
> --
> 1.7.9.5
>
>

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/