diff options
author | Juergen Gross <jgross@suse.com> | 2015-01-12 06:05:07 +0100 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2015-01-12 11:09:34 +0100 |
commit | 82c92ed1357bca22a5d637fbb93dab3eb18a8e8c (patch) | |
tree | db491472b60cfc8a255c0f3c7973fae70995351f /arch/x86/xen/p2m.c | |
parent | x86/xen: avoid freeing static 'name' when kasprintf() fails (diff) | |
download | linux-82c92ed1357bca22a5d637fbb93dab3eb18a8e8c.tar.xz linux-82c92ed1357bca22a5d637fbb93dab3eb18a8e8c.zip |
xen: correct error for building p2m list on 32 bits
In xen_rebuild_p2m_list() for large areas of invalid or identity
mapped memory the pmd entries on 32 bit systems are initialized
wrong. Correct this error.
Suggested-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Diffstat (limited to '')
-rw-r--r-- | arch/x86/xen/p2m.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c index cab221da5f10..ff4ebd820603 100644 --- a/arch/x86/xen/p2m.c +++ b/arch/x86/xen/p2m.c @@ -378,7 +378,7 @@ static void __init xen_rebuild_p2m_list(unsigned long *p2m) p2m_missing_pte : p2m_identity_pte; for (i = 0; i < PMDS_PER_MID_PAGE; i++) { pmdp = populate_extra_pmd( - (unsigned long)(p2m + pfn + i * PTRS_PER_PTE)); + (unsigned long)(p2m + pfn) + i * PMD_SIZE); set_pmd(pmdp, __pmd(__pa(ptep) | _KERNPG_TABLE)); } } |