]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
vxge: fix return of a free'd memblock on a failed dma mapping
authorColin Ian King <colin.king@canonical.com>
Fri, 12 Apr 2019 13:45:12 +0000 (14:45 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 13 Aug 2019 11:39:06 +0000 (12:39 +0100)
commit 0a2c34f18c94b596562bf3d019fceab998b8b584 upstream.

Currently if a pci dma mapping failure is detected a free'd
memblock address is returned rather than a NULL (that indicates
an error). Fix this by ensuring NULL is returned on this error case.

Addresses-Coverity: ("Use after free")
Fixes: 528f727279ae ("vxge: code cleanup and reorganization")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/ethernet/neterion/vxge/vxge-config.c

index 4332ebbd7162302927072290181458195ceb6f72..39f4b38fd068b7ecafdf9968f8e5d9d91389192a 100644 (file)
@@ -2381,6 +2381,7 @@ static void *__vxge_hw_blockpool_malloc(struct __vxge_hw_device *devh, u32 size,
                        vxge_os_dma_free(devh->pdev, memblock,
                                &dma_object->acc_handle);
                        status = VXGE_HW_ERR_OUT_OF_MEMORY;
+                       memblock = NULL;
                        goto exit;
                }