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.