|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging-4.22] xen/page_alloc: scrub each page in unprepare_staticmem_pages
commit d5e1307d62dfb868a6cd54d947b5c3d664866929
Author: Peter Kang <peter.kang@xxxxxxxxxx>
AuthorDate: Thu Oct 29 13:18:29 2026 +0100
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Oct 29 13:18:29 2026 +0100
xen/page_alloc: scrub each page in unprepare_staticmem_pages
unprepare_staticmem_pages() can unprepare multiple pages in a static
memory range. When need_scrub is true, each page must be scrubbed
before it is marked static.
The loop currently passes the base pointer pg to scrub_one_page() on
every iteration. For a multi-page range, this repeatedly scrubs page 0
and leaves the remaining pages unscrubbed, so a guest can later read
stale data from pages 1..nr_mfns-1 of a static or static-shared bank.
Pass &pg[i] to scrub_one_page() so each iteration scrubs the page it
is processing. This ensures every page in the range is scrubbed before
it is marked static.
Fixes: 4a9e73e6e53e ("xen/arm: static memory initialization")
Signed-off-by: Peter Kang <peter.kang@xxxxxxxxxx>
master commit: 65f523e546c88765096629647315db850cae8553
master date: 2026-10-27 09:02:42 +0100
---
xen/common/page_alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 3f9f46dd58..b596fe76a5 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2969,7 +2969,7 @@ void unprepare_staticmem_pages(struct page_info *pg,
unsigned long nr_mfns,
if ( need_scrub )
{
/* TODO: asynchronous scrubbing for pages of static memory. */
- scrub_one_page(pg, true);
+ scrub_one_page(&pg[i], true);
}
pg[i].count_info |= PGC_static;
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.22
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |