Re: [PATCH] kernel/dma/direct: Do not include SME mask in the DMA supported check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Dec 22, 2018 at 04:32:40PM +0000, Lendacky, Thomas wrote:
> commit c92a54cfa0257e8ffd66b2a17d49e9c0bd4b769f upstream
> 
> This fix appears in 4.20, but dma_direct_supported() was changed in 4.20
> such that the original version of the fix will not apply to previous
> versions of the kernel. The fix only applies to the 4.19-stable tree and
> has been backported for that tree.
> 
> The dma_direct_supported() function intends to check the DMA mask against
> specific values. However, the phys_to_dma() function includes the SME
> encryption mask, which defeats the intended purpose of the check. This
> results in drivers that support less than 48-bit DMA (SME encryption mask
> is bit 47) from being able to set the DMA mask successfully when SME is
> active, which results in the driver failing to initialize.
> 
> Change the function used to check the mask from phys_to_dma() to
> __phys_to_dma() so that the SME encryption mask is not part of the check.
> 
> Fixes: c1d0af1a1d5d ("kernel/dma/direct: take DMA offset into account in dma_direct_supported")
> Cc: <stable@xxxxxxxxxxxxxxx> # 4.19.x
> Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
> ---
>  kernel/dma/direct.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)

Now queued up, thanks.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux