From 7f7e2ae4208b266f516d6532b1b59c47c09aee8b Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Tue, 15 Apr 2025 08:13:00 +0200 Subject: [PATCH] bitmap: Define a cleanup function for bitmaps BugLink: https://bugs.launchpad.net/bugs/2103496 Add support for autopointers for bitmaps allocated with bitmap_alloc() et al. Signed-off-by: Bartosz Golaszewski Signed-off-by: Thomas Gleixner Reviewed-by: Andy Shevchenko Acked-by: Yury Norov Link:https://lore.kernel.org/r/20240122124243.44002-2-brgl@bgdev.pl (cherry picked from commit d12a82848eac28d248e67940378fe4a72b0a8cd3) Signed-off-by: Koichiro Den Acked-by: Jacob Martin Acked-by: Stefan Bader Signed-off-by: Stefan Bader --- include/linux/bitmap.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index 2a71bb3f2454..d7ffed3353f8 100644 --- a/include/linux/bitmap.h +++ b/include/linux/bitmap.h @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -131,6 +132,8 @@ unsigned long *bitmap_alloc_node(unsigned int nbits, gfp_t flags, int node); unsigned long *bitmap_zalloc_node(unsigned int nbits, gfp_t flags, int node); void bitmap_free(const unsigned long *bitmap); +DEFINE_FREE(bitmap, unsigned long *, if (_T) bitmap_free(_T)) + /* Managed variants of the above. */ unsigned long *devm_bitmap_alloc(struct device *dev, unsigned int nbits, gfp_t flags);