[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] xen/x86-64: fix phys_pmd_init() (regression from c/s 547)
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1243585036 -3600 # Node ID 9090872bac23193f5b8fb113d3498b85e49cb3f1 # Parent 85a4c18ad9aab0ed2c31792fa75491b8daca8f08 xen/x86-64: fix phys_pmd_init() (regression from c/s 547) I didn't pay attention to the fact that 'end' must always be an upper bound, while xen_start_info->nr_pages must be additionally during boot. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> --- arch/x86_64/mm/init-xen.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -r 85a4c18ad9aa -r 9090872bac23 arch/x86_64/mm/init-xen.c --- a/arch/x86_64/mm/init-xen.c Fri May 29 09:16:37 2009 +0100 +++ b/arch/x86_64/mm/init-xen.c Fri May 29 09:17:16 2009 +0100 @@ -457,9 +457,9 @@ phys_pmd_init(pmd_t *pmd, unsigned long for (k = 0; k < PTRS_PER_PTE; pte++, k++, address += PTE_SIZE) { unsigned long pteval = address | _PAGE_NX | _KERNPG_TABLE; - if (address >= (after_bootmem - ? end - : xen_start_info->nr_pages << PAGE_SHIFT)) + if (address >= end || + (!after_bootmem && + (address >> PAGE_SHIFT) >= xen_start_info->nr_pages)) pteval = 0; else if (make_readonly(address)) pteval &= ~_PAGE_RW; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |