cdcda0d1f8
The upper 32-bit physical address gets truncated inadvertently when dma_direct_get_required_mask() invokes phys_to_dma_direct(). This results in dma_addressing_limited() return incorrect value when used in platforms with LPAE enabled. Fix it here by explicitly type casting 'max_pfn' to phys_addr_t in order to prevent overflow of intermediate value while evaluating '(max_pfn - 1) << PAGE_SHIFT'. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Christoph Hellwig <hch@lst.de> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
coherent.c | ||
contiguous.c | ||
debug.c | ||
direct.c | ||
dummy.c | ||
mapping.c | ||
remap.c | ||
swiotlb.c | ||
virt.c |