The quilt patch titled Subject: kexec_core: fix the assignment to kimage->control_page has been removed from the -mm tree. Its filename was kexec_core-fix-the-assignment-to-kimage-control_page.patch This patch was dropped because it was merged into the mm-nonmm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm ------------------------------------------------------ From: Yuntao Wang <ytcoode@xxxxxxxxx> Subject: kexec_core: fix the assignment to kimage->control_page Date: Thu, 21 Dec 2023 12:23:08 +0800 image->control_page represents the starting address for allocating the next control page, while hole_end represents the address of the last valid byte of the currently allocated control page. This bug actually does not affect the correctness of allocating control pages, because image->control_page is currently only used in kimage_alloc_crash_control_pages(), and this function, when allocating control pages, will first align image->control_page up to the nearest `(1 << order) << PAGE_SHIFT` boundary, then use this value as the starting address of the next control page. This ensures that the newly allocated control page will use the correct starting address and not overlap with previously allocated control pages. Although it does not affect the correctness of the final result, it is better for us to set image->control_page to the correct value, in case it might be used elsewhere in the future, potentially causing errors. Therefore, after successfully allocating a control page, image->control_page should be updated to `hole_end + 1`, rather than hole_end. Link: https://lkml.kernel.org/r/20231221042308.11076-1-ytcoode@xxxxxxxxx Signed-off-by: Yuntao Wang <ytcoode@xxxxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/kexec_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/kernel/kexec_core.c~kexec_core-fix-the-assignment-to-kimage-control_page +++ a/kernel/kexec_core.c @@ -457,7 +457,7 @@ static struct page *kimage_alloc_crash_c /* If I don't overlap any segments I have found my hole! */ if (i == image->nr_segments) { pages = pfn_to_page(hole_start >> PAGE_SHIFT); - image->control_page = hole_end; + image->control_page = hole_end + 1; break; } } _ Patches currently in -mm which might be from ytcoode@xxxxxxxxx are x86-crash-remove-the-unused-image-parameter-from-prepare_elf_headers.patch x86-crash-use-sz_1m-macro-instead-of-hardcoded-value.patch crash_core-fix-and-simplify-the-logic-of-crash_exclude_mem_range.patch x86-crash-fix-potential-cmem-ranges-array-overflow.patch crash_core-optimize-crash_exclude_mem_range.patch