Am 16.02.24 um 12:46 schrieb Arunpravin Paneer Selvam:
On 2/16/2024 4:41 PM, Matthew Auld wrote:
On 16/02/2024 10:00, Arunpravin Paneer Selvam wrote:
Remove the duplicate list_splice_tail call when the total_allocated < size condition is true.
Cc: stable@vger.kernel.org # 6.7+ Fixes: 8746c6c9dfa3 ("drm/buddy: Fix alloc_range() error handling code") Reported-by: Bert Karwatzki spasswolf@web.de Signed-off-by: Arunpravin Paneer Selvam
Arunpravin.PaneerSelvam@amd.com
drivers/gpu/drm/drm_buddy.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c index c1a99bf4dffd..c4222b886db7 100644 --- a/drivers/gpu/drm/drm_buddy.c +++ b/drivers/gpu/drm/drm_buddy.c @@ -538,13 +538,13 @@ static int __alloc_range(struct drm_buddy *mm, list_add(&block->left->tmp_link, dfs); } while (1); - list_splice_tail(&allocated, blocks);
if (total_allocated < size) { err = -ENOSPC; goto err_free; } + list_splice_tail(&allocated, blocks);
Sigh. Can we extend the unit test(s) to catch this?
Sure, Let me check.
In the meantime I'm going to push this one to drm-misc-fixes.
Regards, Christian.
Regards, Arun.
Reviewed-by: Matthew Auld matthew.auld@intel.com
return 0; err_undo:
base-commit: a64056bb5a3215bd31c8ce17d609ba0f4d5c55ea