vm_area at addr ffffffffc0800000 is not marked as VM_IOREMAP

Alexei Starovoitov alexei.starovoitov at gmail.com
Fri Mar 8 08:37:40 PST 2024


On Fri, Mar 8, 2024 at 8:13 AM Bjorn Helgaas <helgaas at kernel.org> 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.



More information about the linux-arm-kernel mailing list