aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYunfeng Ye <[email protected]>2019-11-30 17:57:22 -0800
committerLinus Torvalds <[email protected]>2019-12-01 12:59:09 -0800
commit2184f9928ab52f26c2ae5e9ba37faf29c78f50b8 (patch)
treebe4a75d56f77031775701cba8e1bd73c3195616e
parent75f360696ce9d8ec8b253452b23b3e24c0689b4b (diff)
mm/cma.c: switch to bitmap_zalloc() for cma bitmap allocation
kzalloc() is used for cma bitmap allocation in cma_activate_area(), switch to bitmap_zalloc() for clarity. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Yunfeng Ye <[email protected]> Reviewed-by: Andrew Morton <[email protected]> Cc: Mike Rapoport <[email protected]> Cc: Yue Hu <[email protected]> Cc: Peng Fan <[email protected]> Cc: Andrey Ryabinin <[email protected]> Cc: Ryohei Suzuki <[email protected]> Cc: Andrey Konovalov <[email protected]> Cc: Doug Berger <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r--mm/cma.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/mm/cma.c b/mm/cma.c
index 7fe0b8356775..be55d1988c67 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -95,13 +95,11 @@ static void cma_clear_bitmap(struct cma *cma, unsigned long pfn,
static int __init cma_activate_area(struct cma *cma)
{
- int bitmap_size = BITS_TO_LONGS(cma_bitmap_maxno(cma)) * sizeof(long);
unsigned long base_pfn = cma->base_pfn, pfn = base_pfn;
unsigned i = cma->count >> pageblock_order;
struct zone *zone;
- cma->bitmap = kzalloc(bitmap_size, GFP_KERNEL);
-
+ cma->bitmap = bitmap_zalloc(cma_bitmap_maxno(cma), GFP_KERNEL);
if (!cma->bitmap) {
cma->count = 0;
return -ENOMEM;
@@ -139,7 +137,7 @@ static int __init cma_activate_area(struct cma *cma)
not_in_zone:
pr_err("CMA area %s could not be activated\n", cma->name);
- kfree(cma->bitmap);
+ bitmap_free(cma->bitmap);
cma->count = 0;
return -EINVAL;
}