* [PATCH] kexec_core: fix the assignment to kimage->control_page
@ 2023-12-21 4:23 Yuntao Wang
2023-12-21 22:12 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: Yuntao Wang @ 2023-12-21 4:23 UTC (permalink / raw)
To: linux-kernel, kexec
Cc: Andrew Morton, Baoquan He, Eric Biederman, Yuntao Wang
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.
Therefore, after successfully allocating a control page, image->control_page
should be updated to `hole_end + 1`, rather than hole_end.
Signed-off-by: Yuntao Wang <ytcoode@gmail.com>
---
kernel/kexec_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
index 2f039a7d9af9..a08031b57a61 100644
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -457,7 +457,7 @@ static struct page *kimage_alloc_crash_control_pages(struct kimage *image,
/* 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;
}
}
--
2.43.0
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] kexec_core: fix the assignment to kimage->control_page
2023-12-21 4:23 [PATCH] kexec_core: fix the assignment to kimage->control_page Yuntao Wang
@ 2023-12-21 22:12 ` Andrew Morton
2023-12-22 13:20 ` Yuntao Wang
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2023-12-21 22:12 UTC (permalink / raw)
To: Yuntao Wang; +Cc: linux-kernel, kexec, Baoquan He, Eric Biederman
On Thu, 21 Dec 2023 12:23:08 +0800 Yuntao Wang <ytcoode@gmail.com> wrote:
> 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.
>
> Therefore, after successfully allocating a control page, image->control_page
> should be updated to `hole_end + 1`, rather than hole_end.
Thanks. Again, please include a description of the userspace-visible effects of the bug.
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] kexec_core: fix the assignment to kimage->control_page
2023-12-21 22:12 ` Andrew Morton
@ 2023-12-22 13:20 ` Yuntao Wang
0 siblings, 0 replies; 3+ messages in thread
From: Yuntao Wang @ 2023-12-22 13:20 UTC (permalink / raw)
To: akpm; +Cc: bhe, ebiederm, kexec, linux-kernel, ytcoode
On Thu, 21 Dec 2023 14:12:58 -0800, Andrew Morton <akpm@linux-foundation.org> wrote:
> On Thu, 21 Dec 2023 12:23:08 +0800 Yuntao Wang <ytcoode@gmail.com> wrote:
>
> > 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.
> >
> > Therefore, after successfully allocating a control page, image->control_page
> > should be updated to `hole_end + 1`, rather than hole_end.
>
> Thanks. Again, please include a description of the userspace-visible effects of the bug.
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.
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-12-22 13:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-21 4:23 [PATCH] kexec_core: fix the assignment to kimage->control_page Yuntao Wang
2023-12-21 22:12 ` Andrew Morton
2023-12-22 13:20 ` Yuntao Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox