2020-09-02 16:34:43

by Alex Dewar

[permalink] [raw]
Subject: [PATCH] xsk: Free variable on error path

In xp_create_dma_map(), memory is allocated to dma_map->dma_pages, but
then dma_map is erroneously compared to NULL, rather than the member.
Fix this.

Addresses-Coverity: ("Dead code")
Fixes: 921b68692abb ("xsk: Enable sharing of dma mappings")
Signed-off-by: Alex Dewar <[email protected]>
---
net/xdp/xsk_buff_pool.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/xdp/xsk_buff_pool.c b/net/xdp/xsk_buff_pool.c
index 795d7c81c0ca..5b00bc5707f2 100644
--- a/net/xdp/xsk_buff_pool.c
+++ b/net/xdp/xsk_buff_pool.c
@@ -287,7 +287,7 @@ static struct xsk_dma_map *xp_create_dma_map(struct device *dev, struct net_devi
return NULL;

dma_map->dma_pages = kvcalloc(nr_pages, sizeof(*dma_map->dma_pages), GFP_KERNEL);
- if (!dma_map) {
+ if (!dma_map->dma_pages) {
kfree(dma_map);
return NULL;
}
--
2.28.0


2020-09-02 18:41:06

by Daniel Borkmann

[permalink] [raw]
Subject: Re: [PATCH] xsk: Free variable on error path

On 9/2/20 6:33 PM, Alex Dewar wrote:
> In xp_create_dma_map(), memory is allocated to dma_map->dma_pages, but
> then dma_map is erroneously compared to NULL, rather than the member.
> Fix this.
>
> Addresses-Coverity: ("Dead code")
> Fixes: 921b68692abb ("xsk: Enable sharing of dma mappings")
> Signed-off-by: Alex Dewar <[email protected]>

Thanks, already applied a fix that was sent earlier [0].

[0] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=1d6fd78a213ee3874f46bdce083b7a41d208886d