[PATCH 1/5] ARM: dma-mapping: Treat bitmap size as allocation failure

Marek Szyprowski m.szyprowski at samsung.com
Wed Jul 8 22:58:24 PDT 2026


On 09.07.2026 04:03, Yury Norov wrote:
> bitmap_find_next_zero_area() uses an out-of-range return value to
> indicate failure. Check for values greater than or equal to the bitmap
> size so the caller does not depend on the exact failure sentinel.
>
> Signed-off-by: Yury Norov <ynorov at nvidia.com>
Acked-by: Marek Szyprowski <m.szyprowski at samsung.com>
> ---
>  arch/arm/mm/dma-mapping.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
> index f9bc53b60f99..7761099dde9e 100644
> --- a/arch/arm/mm/dma-mapping.c
> +++ b/arch/arm/mm/dma-mapping.c
> @@ -773,7 +773,7 @@ static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping,
>  		start = bitmap_find_next_zero_area(mapping->bitmaps[i],
>  				mapping->bits, 0, count, align);
>  
> -		if (start > mapping->bits)
> +		if (start >= mapping->bits)
>  			continue;
>  
>  		bitmap_set(mapping->bitmaps[i], start, count);
> @@ -794,7 +794,7 @@ static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping,
>  		start = bitmap_find_next_zero_area(mapping->bitmaps[i],
>  				mapping->bits, 0, count, align);
>  
> -		if (start > mapping->bits) {
> +		if (start >= mapping->bits) {
>  			spin_unlock_irqrestore(&mapping->lock, flags);
>  			return DMA_MAPPING_ERROR;
>  		}

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland




More information about the linux-arm-kernel mailing list