|
Message-Id: <20190223063434.6793-4-joel@joelfernandes.org> Date: Sat, 23 Feb 2019 01:34:31 -0500 From: "Joel Fernandes (Google)" <joel@...lfernandes.org> To: linux-kernel@...r.kernel.org Cc: "Joel Fernandes (Google)" <joel@...lfernandes.org>, Alexei Starovoitov <ast@...nel.org>, Christian Brauner <christian@...uner.io>, Daniel Borkmann <daniel@...earbox.net>, David Ahern <dsahern@...il.com>, "David S. Miller" <davem@...emloft.net>, Ingo Molnar <mingo@...hat.com>, Jakub Kicinski <jakub.kicinski@...ronome.com>, Jeff Kirsher <jeffrey.t.kirsher@...el.com>, Jesper Dangaard Brouer <hawk@...nel.org>, John Fastabend <john.fastabend@...il.com>, Josh Triplett <josh@...htriplett.org>, keescook@...omium.org, kernel-hardening@...ts.openwall.com, kernel-team@...roid.com, Kirill Tkhai <ktkhai@...tuozzo.com>, Lai Jiangshan <jiangshanlai@...il.com>, Martin KaFai Lau <kafai@...com>, Mathieu Desnoyers <mathieu.desnoyers@...icios.com>, netdev@...r.kernel.org, "Paul E. McKenney" <paulmck@...ux.ibm.com>, Peter Zijlstra <peterz@...radead.org>, Quentin Perret <quentin.perret@....com>, rcu@...r.kernel.org, Song Liu <songliubraving@...com>, Steven Rostedt <rostedt@...dmis.org>, Vincent Guittot <vincent.guittot@...aro.org>, xdp-newbies@...r.kernel.org, Yonghong Song <yhs@...com> Subject: [PATCH v2 3/6] sched/cpufreq: Annotate cpufreq_update_util_data pointer with __rcu Recently I added an RCU annotation check to rcu_assign_pointer(). All pointers assigned to RCU protected data are to be annotated with __rcu inorder to be able to use rcu_assign_pointer() similar to checks in other RCU APIs. This resulted in a sparse error: kernel//sched/cpufreq.c:41:9: sparse: error: incompatible types in comparison expression (different address spaces) Fix this by annotating cpufreq_update_util_data pointer with __rcu. This will also help sparse catch any future RCU misuage bugs. Signed-off-by: Joel Fernandes (Google) <joel@...lfernandes.org> --- kernel/sched/cpufreq.c | 2 +- kernel/sched/sched.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched/cpufreq.c b/kernel/sched/cpufreq.c index 22bd8980f32f..e316ee7bb2e5 100644 --- a/kernel/sched/cpufreq.c +++ b/kernel/sched/cpufreq.c @@ -7,7 +7,7 @@ */ #include "sched.h" -DEFINE_PER_CPU(struct update_util_data *, cpufreq_update_util_data); +DEFINE_PER_CPU(struct update_util_data __rcu *, cpufreq_update_util_data); /** * cpufreq_add_update_util_hook - Populate the CPU's update_util_data pointer. diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index d04530bf251f..2ab545d40381 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -2166,7 +2166,7 @@ static inline u64 irq_time_read(int cpu) #endif /* CONFIG_IRQ_TIME_ACCOUNTING */ #ifdef CONFIG_CPU_FREQ -DECLARE_PER_CPU(struct update_util_data *, cpufreq_update_util_data); +DECLARE_PER_CPU(struct update_util_data __rcu *, cpufreq_update_util_data); /** * cpufreq_update_util - Take a note about CPU utilization changes. -- 2.21.0.rc0.258.g878e2cd30e-goog
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.