diff mbox series

drm/buddy: Modify duplicate list_splice_tail call

Message ID 20240216100048.4101-1-Arunpravin.PaneerSelvam@amd.com (mailing list archive)
State New, archived
Headers show
Series drm/buddy: Modify duplicate list_splice_tail call | expand

Commit Message

Paneer Selvam, Arunpravin Feb. 16, 2024, 10 a.m. UTC
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(-)


base-commit: a64056bb5a3215bd31c8ce17d609ba0f4d5c55ea

Comments

Matthew Auld Feb. 16, 2024, 11:11 a.m. UTC | #1
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?

Reviewed-by: Matthew Auld <matthew.auld@intel.com>

> +
>   	return 0;
>   
>   err_undo:
> 
> base-commit: a64056bb5a3215bd31c8ce17d609ba0f4d5c55ea
Paneer Selvam, Arunpravin Feb. 16, 2024, 11:46 a.m. UTC | #2
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.

Regards,
Arun.
>
> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
>
>> +
>>       return 0;
>>     err_undo:
>>
>> base-commit: a64056bb5a3215bd31c8ce17d609ba0f4d5c55ea
Christian König Feb. 16, 2024, 11:59 a.m. UTC | #3
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
>
Paneer Selvam, Arunpravin Feb. 19, 2024, 4:55 a.m. UTC | #4
Hi Christian,

On 2/16/2024 5:29 PM, Christian König wrote:
>
>
> 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.
Thank you!
>
> Regards,
> Christian.
>
>>
>> Regards,
>> Arun.
>>>
>>> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
>>>
>>>> +
>>>>       return 0;
>>>>     err_undo:
>>>>
>>>> base-commit: a64056bb5a3215bd31c8ce17d609ba0f4d5c55ea
>>
>
diff mbox series

Patch

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);
+
 	return 0;
 
 err_undo: