[PW_SID:1100175] riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap#2006
[PW_SID:1100175] riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap#2006linux-riscv-bot wants to merge 1 commit into
Conversation
section_activate() creates new mappings in the vmemmap range without flushing TLB, which may cause faults on some RISC-V implementations that cache non-present PTEs and crashes. This seems to be most easily reproduced with DEBUG_VM=y and PAGE_POISONING=y, which causes these newly mapped struct pages to be poisoned i.e. written to immediately after mapping. Add a hook vmemmap_populate_finalize() in __populate_section_memmap(), and implement it as calling mark_new_valid_map() on RISC-V, which arranges for the exception handler to deal with these faults if they happen. Signed-off-by: Vivian Wang <wangruikang@iscas.ac.cn> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
|
Patch 1: "riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap" |
PR for series 1100175 applied to workflow__riscv__fixes
Name: riscv: mm: Call mark_new_valid_map() after hotplugging vmemmap
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1100175
Version: 1