[PATCH 4.14 88/94] percpu: fix first chunk size calculation for populated bitmap

From: Greg Kroah-Hartman
Date: Mon Sep 21 2020 - 13:00:13 EST


From: Sunghyun Jin <mcsmonk@xxxxxxxxx>

commit b3b33d3c43bbe0177d70653f4e889c78cc37f097 upstream.

Variable populated, which is a member of struct pcpu_chunk, is used as a
unit of size of unsigned long.
However, size of populated is miscounted. So, I fix this minor part.

Fixes: 8ab16c43ea79 ("percpu: change the number of pages marked in the first_chunk pop bitmap")
Cc: <stable@xxxxxxxxxxxxxxx> # 4.14+
Signed-off-by: Sunghyun Jin <mcsmonk@xxxxxxxxx>
Signed-off-by: Dennis Zhou <dennis@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
mm/percpu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/mm/percpu.c
+++ b/mm/percpu.c
@@ -1099,7 +1099,7 @@ static struct pcpu_chunk * __init pcpu_a

/* allocate chunk */
chunk = memblock_virt_alloc(sizeof(struct pcpu_chunk) +
- BITS_TO_LONGS(region_size >> PAGE_SHIFT),
+ BITS_TO_LONGS(region_size >> PAGE_SHIFT) * sizeof(unsigned long),
0);

INIT_LIST_HEAD(&chunk->list);