Re: [BUG 5.14] arm64/mm: dma memory mapping fails (in some cases)

From: Mike Rapoport
Date: Wed Sep 22 2021 - 03:22:40 EST


On Tue, Sep 21, 2021 at 05:38:05PM +0200, Christoph Hellwig wrote:
> On Tue, Sep 21, 2021 at 12:34:10PM +0300, Mike Rapoport wrote:
> > > It doesn't create any new mappings. The only real issue is that it
> > > does the wrong thing for RAM in a way that might not be noticed on
> > > simple (x86/PC) platforms.
> >
> > But if the mapping request was rejected by devm_ioremap_resource() because
> > of an attempt to map RAM, why we would get to dma_map_resource() at all?
>
> dma_map_resource takes a phys_addr_t that could come from anywhere.

Right, but it's not different from, say, dma_map_page_attrs() that can get a
struct page from anywhere and there is no actual memory for that struct
page at all. Do you suggest add a check that that struct page is backed by
memory in dma_map_page_attrs() as well?

--
Sincerely yours,
Mike.