Re: [cocci] [PATCH] coccinelle: Add devm_kmalloc_objs conversion script

From: Markus Elfring

Date: Thu Jun 25 2026 - 01:46:16 EST


> +virtual patch

Will additional operation modes become relevant after clarification of implementation details?



> +def alloc_array(name):
> + func = "FAILED_RENAME"
> + if name == "devm_kmalloc_array":
> + func = "devm_kmalloc_objs"


* I suggest to avoid duplicate variable assignments.

* How do you think about to collaborate with the Python data structure “dictionary”?



> +expression VAR;
> +expression GFP;
> +expression COUNT;


Such repetition of SmPL key words can eventually be also avoided.



> +|
> + BYTES_PTRS = ALLOC(DEV,(sizeof(E)), GFP)
> +|
> + BYTES_PTRS = ALLOC(DEV,(sizeof(TYPE)), GFP)
> +|


I see possibilities to refine such an SmPL disjunction.



> +@drop_gfp_kernel depends on patch && !(file in "tools") && !(file in "samples")@
> +identifier ALLOC = {devm_kmalloc_obj,devm_kmalloc_objs,devm_kmalloc_flex,
> + devm_kzalloc_obj,devm_kzalloc_objs,devm_kzalloc_flex,
> + devm_kvmalloc_obj,devm_kvmalloc_objs,devm_kvmalloc_flex,
> + devm_kvzalloc_obj,devm_kvzalloc_objs,devm_kvzalloc_flex};
> +@@


Can development interests grow for more advanced management of such function names?

Regards,
Markus