Re: [PATCH 1/2] mm/cma: drop incorrect alignment check in cma_init_reserved_mem

From: David Hildenbrand
Date: Thu Apr 04 2024 - 16:05:40 EST


On 04.04.24 18:25, Frank van der Linden wrote:
cma_init_reserved_mem uses IS_ALIGNED to check if the size
represented by one bit in the cma allocation bitmask is
aligned with CMA_MIN_ALIGNMENT_BYTES (pageblock size).

I recall the important part is that our area always covers full pageblocks (CMA_MIN_ALIGNMENT_BYTES), because we cannot have "partial CMA" pageblocks.

Internally, allocating from multiple pageblock should just work.

It's late in Germany, hopefully I am not missing something

Acked-by: David Hildenbrand <david@xxxxxxxxxx>


However, this is too strict, as this will fail if
order_per_bit > pageblock_order, which is a valid configuration.

We could check IS_ALIGNED both ways, but since both numbers are
powers of two, no check is needed at all.

Signed-off-by: Frank van der Linden <fvdl@xxxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: David Hildenbrand <david@xxxxxxxxxx>
Fixes: de9e14eebf33 ("drivers: dma-contiguous: add initialization from device tree")

Is there are real setup/BUG we are fixing? Why did we not stumble over that earlier?

If so, please describe that in the patch description.

--
Cheers,

David / dhildenb