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 |
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
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
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 >
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 --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:
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