diff options
author | Vasily Gorbik <[email protected]> | 2024-12-10 12:35:34 +0100 |
---|---|---|
committer | Alexander Gordeev <[email protected]> | 2024-12-15 23:35:09 +0100 |
commit | 282da38b465395c930687974627c24f47ddce5ff (patch) | |
tree | 6364fb8f98e65a9aeade18a8b57605eb211eb47e | |
parent | 5fa49dd8e521a42379e5e41fcf2c92edaaec0a8b (diff) |
s390/mm: Consider KMSAN modules metadata for paging levels
The calculation determining whether to use three- or four-level paging
didn't account for KMSAN modules metadata. Include this metadata in the
virtual memory size calculation to ensure correct paging mode selection
and avoiding potentially unnecessary physical memory size limitations.
Fixes: 65ca73f9fb36 ("s390/mm: define KMSAN metadata for vmalloc and modules")
Acked-by: Heiko Carstens <[email protected]>
Reviewed-by: Alexander Gordeev <[email protected]>
Reviewed-by: Ilya Leoshkevich <[email protected]>
Signed-off-by: Vasily Gorbik <[email protected]>
Signed-off-by: Alexander Gordeev <[email protected]>
-rw-r--r-- | arch/s390/boot/startup.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/boot/startup.c b/arch/s390/boot/startup.c index abe6e6c0ab98..6087d38c7235 100644 --- a/arch/s390/boot/startup.c +++ b/arch/s390/boot/startup.c @@ -234,6 +234,8 @@ static unsigned long get_vmem_size(unsigned long identity_size, vsize = round_up(SZ_2G + max_mappable, rte_size) + round_up(vmemmap_size, rte_size) + FIXMAP_SIZE + MODULES_LEN + KASLR_LEN; + if (IS_ENABLED(CONFIG_KMSAN)) + vsize += MODULES_LEN * 2; return size_add(vsize, vmalloc_size); } |