powerpc: mm: add VM_IOREMAP flag to the vmalloc area
authorBaoquan He <bhe@redhat.com>
Mon, 6 Feb 2023 08:40:19 +0000 (16:40 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 10 Feb 2023 00:51:43 +0000 (16:51 -0800)
Currently, for vmalloc areas with flag VM_IOREMAP set, except of the
specific alignment clamping in __get_vm_area_node(), they will be

 1) Shown as ioremap in /proc/vmallocinfo;

 2) Ignored by /proc/kcore reading via vread()

So for the io mapping in ioremap_phb() of ppc, we should set VM_IOREMAP in
flag to make it handled correctly as above.

Link: https://lkml.kernel.org/r/20230206084020.174506-7-bhe@redhat.com
Signed-off-by: Baoquan He <bhe@redhat.com>
Reviewed-by: Lorenzo Stoakes <lstoakes@gmail.com>
Reviewed-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Cc: Dan Carpenter <error27@gmail.com>
Cc: Stephen Brennan <stephen.s.brennan@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/powerpc/kernel/pci_64.c

index 0c7cfb9fab04d2d53d827e177c82d4c1a0f3bc59..fd42059ae2a58bcae7e0011bfac76537aab091cc 100644 (file)
@@ -132,7 +132,7 @@ void __iomem *ioremap_phb(phys_addr_t paddr, unsigned long size)
         * address decoding but I'd rather not deal with those outside of the
         * reserved 64K legacy region.
         */
-       area = __get_vm_area_caller(size, 0, PHB_IO_BASE, PHB_IO_END,
+       area = __get_vm_area_caller(size, VM_IOREMAP, PHB_IO_BASE, PHB_IO_END,
                                    __builtin_return_address(0));
        if (!area)
                return NULL;