lkml.org 
[lkml]   [2023]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [RFC PATCH v2 02/20] tracing/filters: Enable filtering a cpumask field by another cpumask
Date
On 26/07/23 12:41, Josh Poimboeuf wrote:
> On Thu, Jul 20, 2023 at 05:30:38PM +0100, Valentin Schneider wrote:
>> int filter_assign_type(const char *type)
>> {
>> - if (strstr(type, "__data_loc") && strstr(type, "char"))
>> - return FILTER_DYN_STRING;
>> + if (strstr(type, "__data_loc")) {
>> + if (strstr(type, "char"))
>> + return FILTER_DYN_STRING;
>> + if (strstr(type, "cpumask_t"))
>> + return FILTER_CPUMASK;
>> + }
>
> The closing bracket has the wrong indentation.
>
>> + /* Copy the cpulist between { and } */
>> + tmp = kmalloc((i - maskstart) + 1, GFP_KERNEL);
>> + strscpy(tmp, str + maskstart, (i - maskstart) + 1);
>
> Need to check kmalloc() failure? And also free tmp?
>

Heh, indeed, shoddy that :-)

Thanks!

>> +
>> + pred->mask = kzalloc(cpumask_size(), GFP_KERNEL);
>> + if (!pred->mask)
>> + goto err_mem;
>> +
>> + /* Now parse it */
>> + if (cpulist_parse(tmp, pred->mask)) {
>> + parse_error(pe, FILT_ERR_INVALID_CPULIST, pos + i);
>> + goto err_free;
>> + }
>> +
>> + /* Move along */
>> + i++;
>> + if (field->filter_type == FILTER_CPUMASK)
>> + pred->fn_num = FILTER_PRED_FN_CPUMASK;
>> +
>
> --
> Josh

\
 
 \ /
  Last update: 2023-07-27 11:50    [W:0.146 / U:0.344 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site