On Mon, Nov 15, 2021 at 08:48:30PM +0200, Ilias Apalodimas wrote:
page_pool (the API in question), apart from allocating memory can manage the mappings for you. However while doing so it stores some parts (incl the dma addr) in struct page. The code in there could be simplified if we skipped support of the 'mapping' feature for 32-bit architectures with 64-bit DMA. We thought no driver was using the mapping feature (on 32bits) and cleaned up that part, but apparently we missed '32-bit -- LPAE -- page pool manages DMA mappings'
It is a very common configuration on various architectures, so I fear you'll have to support it and undo the cleanup.