From: Steven Rostedt (Google) <rostedt@goodmis.org> Date: Wed, 5 Jun 2024 20:26:47 +0000 (-0400) Subject: ftrace: Assign RCU list variable with rcu_assign_ptr() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=0ddef5d601ff992430b7874074c3549aa66f2c85;p=users%2Fdwmw2%2Flinux.git ftrace: Assign RCU list variable with rcu_assign_ptr() Use rcu_assign_ptr() to assign the list pointer as it is marked as RCU, and this quiets the sparse warning: kernel/trace/ftrace.c:313:23: warning: incorrect type in assignment (different address spaces) kernel/trace/ftrace.c:313:23: expected struct ftrace_ops [noderef] __rcu * kernel/trace/ftrace.c:313:23: got struct ftrace_ops * Link: https://lore.kernel.org/linux-trace-kernel/20240605202708.613471310@goodmis.org Cc: Mark Rutland <mark.rutland@arm.com> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Andrew Morton <akpm@linux-foundation.org> Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> --- diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 034242675e7bf..4aeb1183ea9fc 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -311,7 +311,7 @@ static int remove_ftrace_ops(struct ftrace_ops __rcu **list, lockdep_is_held(&ftrace_lock)) == ops && rcu_dereference_protected(ops->next, lockdep_is_held(&ftrace_lock)) == &ftrace_list_end) { - *list = &ftrace_list_end; + rcu_assign_pointer(*list, &ftrace_list_end); return 0; }