On Tue, 22 Jun 2021 16:42:30 +0200 Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> wrote: > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c > index 52fc9438b7b4..c14f33db147e 100644 > --- a/kernel/trace/trace.c > +++ b/kernel/trace/trace.c > @@ -5053,7 +5053,13 @@ int tracing_set_cpumask(struct trace_array *tr, > arch_spin_unlock(&tr->max_lock); > local_irq_enable(); > > + /* > + * tracing_cpumask is read by tracers that support CPU > + * hotplug. > + */ > + get_online_cpus(); > cpumask_copy(tr->tracing_cpumask, tracing_cpumask_new); > + put_online_cpus(); > > return 0; Hmm, the tracing_cpumask is only touched in he work function, with the necessary locks. How is get_online_cpus() protecting it here? That is, tracing_cpumask isn't touched in the path of bringing up or taking down a CPU, and shouldn't be an issue here. Should I just drop this patch? -- Steve