diff options
| author | Vivian Wang <wangruikang@iscas.ac.cn> | 2026-04-03 19:28:47 -0600 |
|---|---|---|
| committer | Paul Walmsley <pjw@kernel.org> | 2026-04-04 18:42:44 -0600 |
| commit | b0217d97eeeaca199eff23102b3fa72ea8c4ddea (patch) | |
| tree | 4365a2578204968350bae4df382385af68e35424 /arch/riscv | |
| parent | dd598449338212f9262424fa67e40b5643ab6c06 (diff) | |
riscv: mm: WARN_ON() for bad addresses in vmemmap_populate()
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>
Diffstat (limited to 'arch/riscv')
| -rw-r--r-- | arch/riscv/mm/init.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index 257df6bd258f..2a34906b85df 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -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 |
