arch/x86/mm.c | 1 + 1 file changed, 1 insertion(+)
In case ov PVH dom_map_frames() is missing to increment the virtual
address. This leads to writing only the first page table entry multiple
times.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
arch/x86/mm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index ea58444..8ba14a5 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -695,6 +695,7 @@ int do_map_frames(unsigned long va,
pgt[l1_table_offset(va)] = (pgentry_t)
(((mfns[done * stride] + done * incr) << PAGE_SHIFT) | prot);
done++;
+ va += PAGE_SIZE;
#endif
}
--
2.26.2
Juergen Gross, le sam. 15 août 2020 13:12:57 +0200, a ecrit: > In case ov PVH dom_map_frames() is missing to increment the virtual > address. This leads to writing only the first page table entry multiple > times. > > Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > --- > arch/x86/mm.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/x86/mm.c b/arch/x86/mm.c > index ea58444..8ba14a5 100644 > --- a/arch/x86/mm.c > +++ b/arch/x86/mm.c > @@ -695,6 +695,7 @@ int do_map_frames(unsigned long va, > pgt[l1_table_offset(va)] = (pgentry_t) > (((mfns[done * stride] + done * incr) << PAGE_SHIFT) | prot); > done++; > + va += PAGE_SIZE; > #endif > } > > -- > 2.26.2 > -- Samuel j'etais en train de nettoyer ma souris et le coup est parti... -+- s sur #ens-mim - et en plus c vrai... -+-
On Sat, Aug 15, 2020 at 11:43:21PM +0200, Samuel Thibault wrote: > Juergen Gross, le sam. 15 août 2020 13:12:57 +0200, a ecrit: > > In case ov PVH dom_map_frames() is missing to increment the virtual > > address. This leads to writing only the first page table entry multiple > > times. > > > > Signed-off-by: Juergen Gross <jgross@suse.com> > > Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Applied.
© 2016 - 2024 Red Hat, Inc.