[dpdk-dev] cxgbe: fix memory leak when device initialization fails
Commit Message
Add missing code to free adapter when the device initialization fails.
Fixes: 8318984927ff ("cxgbe: add pmd skeleton")
Reported-by: Seth Arnold <seth.arnold@canonical.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
drivers/net/cxgbe/cxgbe_ethdev.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
Comments
On Fri, Feb 12, 2016 at 05:15:30PM +0530, Rahul Lakkireddy wrote:
> Add missing code to free adapter when the device initialization fails.
>
> Fixes: 8318984927ff ("cxgbe: add pmd skeleton")
>
> Reported-by: Seth Arnold <seth.arnold@canonical.com>
> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
> ---
> drivers/net/cxgbe/cxgbe_ethdev.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
You caught me just at a good time - I was just finishing pushing your two
other bug fixes when this arrived in. :-)
Applied to dpdk-next-net/rel_16_04
Thanks,
/Bruce
@@ -838,11 +838,16 @@ static int eth_cxgbe_dev_init(struct rte_eth_dev *eth_dev)
pi->adapter = adapter;
err = cxgbe_probe(adapter);
- if (err)
+ if (err) {
dev_err(adapter, "%s: cxgbe probe failed with err %d\n",
__func__, err);
+ goto out_free_adapter;
+ }
+
+ return 0;
out_free_adapter:
+ rte_free(adapter);
return err;
}