mm/cma: drop incorrect alignment check in cma_init_reserved_mem
[ Upstream commit b174f139bdc8aaaf72f5b67ad1bd512c4868a87e ] 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). 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. Link: https://lkml.kernel.org/r/20240404162515.527802-1-fvdl@google.com Fixes: de9e14eebf33 ("drivers: dma-contiguous: add initialization from device tree") Signed-off-by: Frank van der Linden <fvdl@google.com> Acked-by: David Hildenbrand <david@redhat.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Cc: Muchun Song <muchun.song@linux.dev> Cc: Roman Gushchin <roman.gushchin@linux.dev> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
51163bfef6
commit
70c8ec82f8
4
mm/cma.c
4
mm/cma.c
@ -179,10 +179,6 @@ int __init cma_init_reserved_mem(phys_addr_t base, phys_addr_t size,
|
||||
if (!size || !memblock_is_region_reserved(base, size))
|
||||
return -EINVAL;
|
||||
|
||||
/* alignment should be aligned with order_per_bit */
|
||||
if (!IS_ALIGNED(CMA_MIN_ALIGNMENT_PAGES, 1 << order_per_bit))
|
||||
return -EINVAL;
|
||||
|
||||
/* ensure minimal alignment required by mm core */
|
||||
if (!IS_ALIGNED(base | size, CMA_MIN_ALIGNMENT_BYTES))
|
||||
return -EINVAL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user