On Fri, Mar 8, 2024 at 8:13 AM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > On Thu, Mar 07, 2024 at 07:49:16PM -0800, Alexei Starovoitov wrote: > > Ok. I think I figured it out. > > Please try the attached patch. > > > PCI address range is managed independently from vmalloc range. > > This suggests that the PCI maintainers should be aware of something, > but I don't know what this means. Can you elaborate on what PCI > address range management this is, e.g., what functions allocate from > it? Or how PCI should have been able to avoid this issue? I believe Chritoph's long term plan for ioremap_page_range() is to be used for ranges _within_ vmalloc range only. The vmalloc ranges are allocated by get_vm_area(). In PCI you don't use vmalloc address range. PCI manages its own PCI_IOBASE, IO_SPACE_LIMIT address range independently from vmalloc range and they do not overlap. Hence this proposed patch.