xen: fix scrub_page()
Impact: fix guest kernel crash with CONFIG_XEN_SCRUB_PAGES=y Jens noticed that scrub_page() has a buggy unmap of the wrong thing. (virtual address instead of page) Linus pointed out that the whole scrub_page() code is an unnecessary reimplementation of clear_highpage() to begin with. Just use clear_highpage() rather than reimplementing it poorly. Reported-by: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
d3c6aa1e69
commit
26a3e99160
@ -122,14 +122,7 @@ static struct timer_list balloon_timer;
|
||||
static void scrub_page(struct page *page)
|
||||
{
|
||||
#ifdef CONFIG_XEN_SCRUB_PAGES
|
||||
if (PageHighMem(page)) {
|
||||
void *v = kmap(page);
|
||||
clear_page(v);
|
||||
kunmap(v);
|
||||
} else {
|
||||
void *v = page_address(page);
|
||||
clear_page(v);
|
||||
}
|
||||
clear_highpage(page);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user