[PATCH 1/2] ARM: Fix off by one in checking DMA zone size
Florian Fainelli
f.fainelli at gmail.com
Thu Mar 24 10:54:16 PDT 2022
The maximum DMA address is PAGE_OFFSET + arm_dma_zone_size - 1, fix this
by doing the appropriate subtraction.
Fixes: 650320181a08 ("ARM: change ARM_DMA_ZONE_SIZE into a variable")
Suggested-by: Geert Uytterhoeven <geert at linux-m68k.org>
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
---
arch/arm/include/asm/dma.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/include/asm/dma.h b/arch/arm/include/asm/dma.h
index a81dda65c576..f244ee68e814 100644
--- a/arch/arm/include/asm/dma.h
+++ b/arch/arm/include/asm/dma.h
@@ -11,7 +11,7 @@
#define MAX_DMA_ADDRESS ({ \
extern phys_addr_t arm_dma_zone_size; \
arm_dma_zone_size && arm_dma_zone_size < (0x10000000 - PAGE_OFFSET) ? \
- (PAGE_OFFSET + arm_dma_zone_size) : 0xffffffffUL; })
+ (PAGE_OFFSET + arm_dma_zone_size - 1) : 0xffffffffUL; })
#endif
#ifdef CONFIG_ISA_DMA_API
--
2.25.1
More information about the linux-arm-kernel
mailing list