diff options
author | Wei Yang <richard.weiyang@gmail.com> | 2024-04-16 01:25:59 +0000 |
---|---|---|
committer | Andrew Morton <akpm@linux-foundation.org> | 2024-05-05 17:53:40 -0700 |
commit | 122ff80e12b3aa586d702b7fb651a99d443e7777 (patch) | |
tree | 42829920f2980eca95d987e4288c6779783a7224 /mm | |
parent | 5ec5aab7754e4ed5b91be103427e00ab9a35f67d (diff) | |
download | linux-stable-122ff80e12b3aa586d702b7fb651a99d443e7777.tar.gz linux-stable-122ff80e12b3aa586d702b7fb651a99d443e7777.tar.bz2 linux-stable-122ff80e12b3aa586d702b7fb651a99d443e7777.zip |
mm/sparse: guard the size of mem_section is power of 2
We usually have this check, while commit 2a3cb8baef71 ("mm/sparse: delete
old sparse_init and enable new one") missed to take it.
Link: https://lkml.kernel.org/r/20240416012559.4536-1-richard.weiyang@gmail.com
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Acked-by: Oscar Salvador <osalvador@suse.de>
Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Cc: "Mike Rapoport (IBM)" <rppt@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/sparse.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/sparse.c b/mm/sparse.c index 46e88549d1a6..de40b2c73406 100644 --- a/mm/sparse.c +++ b/mm/sparse.c @@ -560,6 +560,8 @@ void __init sparse_init(void) unsigned long pnum_end, pnum_begin, map_count = 1; int nid_begin; + /* see include/linux/mmzone.h 'struct mem_section' definition */ + BUILD_BUG_ON(!is_power_of_2(sizeof(struct mem_section))); memblocks_present(); pnum_begin = first_present_section_nr(); |