Additional metadata will be exported to vmcoreinfo, requiring more buffer space than a single 4KB page provides.
Change VMCOREINFO_BYTES from PAGE_SIZE to a fixed SZ_8K. This decouples the buffer size from the page size, avoiding waste on architectures with large pages (e.g. 16KB on MIPS, 64KB on arm64) while providing enough space on 4KB-page architectures like RISC-V. The existing allocation in kimage_crash_copy_vmcoreinfo() already uses get_order() and DIV_ROUND_UP(), so it correctly rounds up to whole pages regardless of the constant's value. Signed-off-by: Pnina Feder <[email protected]> --- include/linux/vmcore_info.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/linux/vmcore_info.h b/include/linux/vmcore_info.h index e71518caacdf..612dcf7b9ecd 100644 --- a/include/linux/vmcore_info.h +++ b/include/linux/vmcore_info.h @@ -20,7 +20,8 @@ CRASH_CORE_NOTE_NAME_BYTES + \ CRASH_CORE_NOTE_DESC_BYTES) -#define VMCOREINFO_BYTES PAGE_SIZE +/* Fixed size independent of PAGE_SIZE to avoid waste on large-page archs */ +#define VMCOREINFO_BYTES SZ_8K #define VMCOREINFO_NOTE_NAME "VMCOREINFO" #define VMCOREINFO_NOTE_NAME_BYTES ALIGN(sizeof(VMCOREINFO_NOTE_NAME), 4) #define VMCOREINFO_NOTE_SIZE ((CRASH_CORE_NOTE_HEAD_BYTES * 2) + \ -- 2.43.0
