diff options
author | Juergen Gross <jgross@suse.com> | 2015-01-12 00:05:07 -0500 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2015-01-12 05:09:34 -0500 |
commit | 82c92ed1357bca22a5d637fbb93dab3eb18a8e8c (patch) | |
tree | db491472b60cfc8a255c0f3c7973fae70995351f /arch/x86/xen/p2m.c | |
parent | 7be0772d19103b3eac3c2e9ac325df2563273fdc (diff) |
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 'arch/x86/xen/p2m.c')
-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) | |||
378 | p2m_missing_pte : p2m_identity_pte; | 378 | p2m_missing_pte : p2m_identity_pte; |
379 | for (i = 0; i < PMDS_PER_MID_PAGE; i++) { | 379 | for (i = 0; i < PMDS_PER_MID_PAGE; i++) { |
380 | pmdp = populate_extra_pmd( | 380 | pmdp = populate_extra_pmd( |
381 | (unsigned long)(p2m + pfn + i * PTRS_PER_PTE)); | 381 | (unsigned long)(p2m + pfn) + i * PMD_SIZE); |
382 | set_pmd(pmdp, __pmd(__pa(ptep) | _KERNPG_TABLE)); | 382 | set_pmd(pmdp, __pmd(__pa(ptep) | _KERNPG_TABLE)); |
383 | } | 383 | } |
384 | } | 384 | } |