On Thu, 2021-11-25 at 21:49 +0800, guangming.cao@xxxxxxxxxxxx wrote: > From: Guangming <Guangming.Cao@xxxxxxxxxxxx> > > Use (for_each_sgtable_sg) rather than (for_each_sg) to traverse > sg_table to free sg_table. > Use (for_each_sg) maybe will casuse some pages can't be freed > when send wrong nents number. s/casuse/cause > > Signed-off-by: Guangming <Guangming.Cao@xxxxxxxxxxxx> > --- > drivers/dma-buf/heaps/system_heap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/dma-buf/heaps/system_heap.c b/drivers/dma- > buf/heaps/system_heap.c > index 23a7e74ef966..8660508f3684 100644 > --- a/drivers/dma-buf/heaps/system_heap.c > +++ b/drivers/dma-buf/heaps/system_heap.c > @@ -289,7 +289,7 @@ static void system_heap_dma_buf_release(struct > dma_buf *dmabuf) > int i; > > table = &buffer->sg_table; > - for_each_sg(table->sgl, sg, table->nents, i) { > + for_each_sgtable_sg(table, sg, i) { > struct page *page = sg_page(sg); > > __free_pages(page, compound_order(page)); If this is a fix, I think we should add Fixes: xxxx ("...") in the commit message and Cc stable. Thanks, Kuan-Ying Lee