[PATCH] mini-os: fix do_map_frames() for pvh

Juergen Gross posted 1 patch 3 years, 8 months ago
Failed in applying to current master (apply log)
arch/x86/mm.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] mini-os: fix do_map_frames() for pvh
Posted by Juergen Gross 3 years, 8 months ago
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


Re: [PATCH] mini-os: fix do_map_frames() for pvh
Posted by Samuel Thibault 3 years, 8 months ago
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... -+-

Re: [PATCH] mini-os: fix do_map_frames() for pvh
Posted by Wei Liu 3 years, 8 months ago
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.