…
> +++ b/lib/io_dmabuf_token.c
> @@ -0,0 +1,272 @@
…
> +int io_dmabuf_init_map(struct io_dmabuf_token *token, struct io_dmabuf_map 
> *map)
> +{
> +     struct io_dmabuf_fence *fence = NULL;
> +     int ret;
> +
> +     fence = kzalloc(sizeof(*fence), GFP_KERNEL);

How do you think about to use kzalloc_obj() instead?
https://elixir.bootlin.com/linux/v7.1-rc3/source/include/linux/slab.h#L1039-L1040


…
> +     if (!fence)
> +             return -ENOMEM;
> +
> +     ret = percpu_ref_init(&map->refs, io_dmabuf_map_refs_release, 0, 
> GFP_KERNEL);
> +     if (ret) {
> +             kfree(fence);
> +             return ret;
> +     }
…

Would you like to use the attribute “__free(kfree)”?
https://elixir.bootlin.com/linux/v7.1-rc3/source/include/linux/slab.h#L517

Regards,
Markus

Reply via email to