udmabuf: actually unmap the scatterlist
authorLucas Stach <l.stach@pengutronix.de>
Tue, 4 Jun 2019 20:23:31 +0000 (22:23 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Wed, 5 Jun 2019 08:41:17 +0000 (10:41 +0200)
unmap_udmabuf fails to actually unmap the scatterlist, leaving dangling
mappings around.

Fixes: fbb0de795078 ("Add udmabuf misc device")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Link: http://patchwork.freedesktop.org/patch/msgid/20190604202331.17482-1-l.stach@pengutronix.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
drivers/dma-buf/udmabuf.c

index cd57747286f286d44dcc57f1829bcee64214a9f2..9635897458a09e660a07ef29064b6a1fb6995bbc 100644 (file)
@@ -77,6 +77,7 @@ static void unmap_udmabuf(struct dma_buf_attachment *at,
                          struct sg_table *sg,
                          enum dma_data_direction direction)
 {
+       dma_unmap_sg(at->dev, sg->sgl, sg->nents, direction);
        sg_free_table(sg);
        kfree(sg);
 }