[PATCH 3/6] drm/buddy: check range allocation matches alignment

Arunpravin Paneer Selvam arunpravin.paneerselvam at amd.com
Fri Feb 16 11:25:32 UTC 2024


Its good to check the alignment

Reviewed-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam at amd.com>



On 2/15/2024 11:14 PM, Matthew Auld wrote:
> Likely not a big deal for real users, but for consistency we should
> respect the min_page_size here. Main issue is that bias allocations
> turns into normal range allocation if the range and size matches
> exactly, and in the next patch we want to add some unit tests for this
> part of the api.
>
> Signed-off-by: Matthew Auld<matthew.auld at intel.com>
> Cc: Arunpravin Paneer Selvam<Arunpravin.PaneerSelvam at amd.com>
> Cc: Christian König<christian.koenig at amd.com>
> ---
>   drivers/gpu/drm/drm_buddy.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
> index d09540d4065b..ee9913016626 100644
> --- a/drivers/gpu/drm/drm_buddy.c
> +++ b/drivers/gpu/drm/drm_buddy.c
> @@ -771,8 +771,12 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>   		return -EINVAL;
>   
>   	/* Actual range allocation */
> -	if (start + size == end)
> +	if (start + size == end) {
> +		if (!IS_ALIGNED(start | end, min_block_size))
> +			return -EINVAL;
> +
>   		return __drm_buddy_alloc_range(mm, start, size, NULL, blocks);
> +	}
>   
>   	original_size = size;
>   	original_min_size = min_block_size;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20240216/dc51a63e/attachment-0001.htm>


More information about the dri-devel mailing list