Re: [PATCH v4] dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow

From: Sumit Semwal
Date: Wed Dec 01 2021 - 05:09:36 EST


Hello Guangming,

On Mon, 29 Nov 2021 at 23:35, John Stultz <john.stultz@xxxxxxxxxx> wrote:
>
> On Thu, Nov 25, 2021 at 11:48 PM <guangming.cao@xxxxxxxxxxxx> wrote:
> >
> > From: Guangming <Guangming.Cao@xxxxxxxxxxxx>
> >
> > For previous version, it uses 'sg_table.nent's to traverse sg_table in pages
> > free flow.
> > However, 'sg_table.nents' is reassigned in 'dma_map_sg', it means the number of
> > created entries in the DMA adderess space.
> > So, use 'sg_table.nents' in pages free flow will case some pages can't be freed.
> >
> > Here we should use sg_table.orig_nents to free pages memory, but use the
> > sgtable helper 'for each_sgtable_sg'(, instead of the previous rather common
> > helper 'for_each_sg' which maybe cause memory leak) is much better.

Thanks for catching this and the patch; applied to drm-misc-fixes.
> >
> > Fixes: d963ab0f15fb0 ("dma-buf: system_heap: Allocate higher order pages if available")
> > Signed-off-by: Guangming <Guangming.Cao@xxxxxxxxxxxx>
> > Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx>
> > Cc: <stable@xxxxxxxxxxxxxxx> # 5.11.*
>
> Thanks so much for catching this and sending in all the revisions!
>
> Reviewed-by: John Stultz <john.stultz@xxxxxxxxxx>


Best,
Sumit.

--
Thanks and regards,

Sumit Semwal (he / him)
Tech Lead - LCG, Vertical Technologies
Linaro.org │ Open source software for ARM SoCs