]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
riscv: mm: WARN_ON() for bad addresses in vmemmap_populate()
authorVivian Wang <wangruikang@iscas.ac.cn>
Sat, 4 Apr 2026 01:28:47 +0000 (19:28 -0600)
committerPaul Walmsley <pjw@kernel.org>
Sun, 5 Apr 2026 00:42:44 +0000 (18:42 -0600)
Similarly to the same check in arch/arm64/mm/mmu.c, in
vmemmap_populate(), add a warning for start and end being outside of the
range of vmemmap.

Signed-off-by: Vivian Wang <wangruikang@iscas.ac.cn>
Link: https://patch.msgid.link/20260309-riscv-sparsemem-vmemmap-limits-v1-1-f40efe18e3cd@iscas.ac.cn
Signed-off-by: Paul Walmsley <pjw@kernel.org>
arch/riscv/mm/init.c

index 257df6bd258fa61644aed43a956d80e98fddd8f9..2a34906b85df14ddc1fb3546fedf77a930f769a2 100644 (file)
@@ -1448,6 +1448,8 @@ int __meminit vmemmap_check_pmd(pmd_t *pmdp, int node,
 int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node,
                               struct vmem_altmap *altmap)
 {
+       WARN_ON((start < VMEMMAP_START) || (end > VMEMMAP_END));
+
        /*
         * Note that SPARSEMEM_VMEMMAP is only selected for rv64 and that we
         * can't use hugepage mappings for 2-level page table because in case of