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