[PATCH kernel] powerpc/dma: Fix dma_map_ops::get_required_mask
Michael Ellerman
patch-notifications at ellerman.id.au
Thu Sep 10 22:55:32 AEST 2020
On Tue, 8 Sep 2020 11:51:06 +1000, Alexey Kardashevskiy wrote:
> There are 2 problems with it:
> 1. "<" vs expected "<<"
> 2. the shift number is an IOMMU page number mask, not an address mask
> as the IOMMU page shift is missing.
>
> This did not hit us before f1565c24b596 ("powerpc: use the generic
> dma_ops_bypass mode") because we had there additional code to handle
> bypass mask so this chunk (almost?) never executed. However there
> were reports that aacraid does not work with "iommu=nobypass".
> After f1565c24b596, aacraid (and probably others which call
> dma_get_required_mask() before setting the mask) was unable to
> enable 64bit DMA and fall back to using IOMMU which was known not to work,
> one of the problems is double free of an IOMMU page.
>
> [...]
Applied to powerpc/fixes.
[1/1] powerpc/dma: Fix dma_map_ops::get_required_mask
https://git.kernel.org/powerpc/c/437ef802e0adc9f162a95213a3488e8646e5fc03
cheers
More information about the Linuxppc-dev
mailing list