arm64: Fix overlapping VA allocations
[deliverable/linux.git] / arch / arm64 / mm / dump.c
index bf69601be54659374cefe2748252230d40e92bd6..77d39a1b6f8d4d873da76e06afbd6f89d667f4bb 100644 (file)
@@ -36,10 +36,10 @@ enum address_markers_idx {
        VMEMMAP_START_NR,
        VMEMMAP_END_NR,
 #endif
-       PCI_START_NR,
-       PCI_END_NR,
        FIXADDR_START_NR,
        FIXADDR_END_NR,
+       PCI_START_NR,
+       PCI_END_NR,
        MODULES_START_NR,
        MODUELS_END_NR,
        KERNEL_SPACE_NR,
@@ -52,10 +52,10 @@ static struct addr_marker address_markers[] = {
        { 0,                    "vmemmap start" },
        { 0,                    "vmemmap end" },
 #endif
-       { (unsigned long) PCI_IOBASE,           "PCI I/O start" },
-       { (unsigned long) PCI_IOBASE + SZ_16M,  "PCI I/O end" },
        { FIXADDR_START,        "Fixmap start" },
        { FIXADDR_TOP,          "Fixmap end" },
+       { PCI_IO_START,         "PCI I/O start" },
+       { PCI_IO_END,           "PCI I/O end" },
        { MODULES_VADDR,        "Modules start" },
        { MODULES_END,          "Modules end" },
        { PAGE_OFFSET,          "Kernel Mapping" },
@@ -182,9 +182,6 @@ static void note_page(struct pg_state *st, unsigned long addr, unsigned level,
        static const char units[] = "KMGTPE";
        u64 prot = val & pg_level[level].mask;
 
-       if (addr < LOWEST_ADDR)
-               return;
-
        if (!st->level) {
                st->level = level;
                st->current_prot = prot;
@@ -272,7 +269,7 @@ static void walk_pud(struct pg_state *st, pgd_t *pgd, unsigned long start)
 
 static void walk_pgd(struct pg_state *st, struct mm_struct *mm, unsigned long start)
 {
-       pgd_t *pgd = pgd_offset(mm, 0);
+       pgd_t *pgd = pgd_offset(mm, 0UL);
        unsigned i;
        unsigned long addr;
 
This page took 0.05409 seconds and 5 git commands to generate.