Re: [RFC PATCH v2 05/20] tracing/filters: Optimise cpumask vs cpumask filtering when user mask is a single CPU

From: Valentin Schneider
Date: Mon Jul 31 2023 - 07:21:54 EST


On 29/07/23 15:34, Steven Rostedt wrote:
> On Thu, 20 Jul 2023 17:30:41 +0100
> Valentin Schneider <vschneid@xxxxxxxxxx> wrote:
>
>> /* Move along */
>> i++;
>> +
>> + /*
>> + * Optimisation: if the user-provided mask has a weight of one
>> + * then we can treat it as a scalar input.
>> + */
>> + single = cpumask_weight(pred->mask) == 1;
>> + if (single && field->filter_type == FILTER_CPUMASK) {
>> + pred->val = cpumask_first(pred->mask);
>> + kfree(pred->mask);
>
> Don't we need:
> pred->mask = NULL;
>
> here, or the free_predicate() will cause a double free?
>

We do, thanks for spotting this.

> -- Steve
>
>> + }
>> +