Re: [PATCH V5 12/14] trace: Protect tr->tracing_cpumask with get/put_online_cpus

From: Daniel Bristot de Oliveira
Date: Fri Jun 25 2021 - 00:35:21 EST


On 6/24/21 11:39 PM, Steven Rostedt wrote:
> 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.

You are right, it is not needed with the new hotplug method.

> Should I just drop this patch?

Yes! drop it.

Thanks Steven!
-- Daniel

>
> -- Steve
>