Re: [PATCH] arcnet: com20020-pci: Fix an error handling path in 'com20020pci_probe()'
From: Christophe JAILLETDate: Fri, 7 Jul 2017 06:56:16 +0200 > If this memory allocation fails, we should go through the error handling > path as done everywhere else in this function before returning. > > Signed-off-by: Christophe JAILLET This is really the tip of the iceberg here and this function's cleanup really needs to be shored up more completely than this. If the allocation of 'card' succeeds, and one of the "goto out_port" paths are taken, 'card' is leaked because the last thing performed is linking it into the list inside of 'priv'. Anyways, I'll apply this but there are so many more leaks here.
Re: [PATCH] arcnet: com20020-pci: Fix an error handling path in 'com20020pci_probe()'
From: Christophe JAILLET Date: Fri, 7 Jul 2017 06:56:16 +0200 > If this memory allocation fails, we should go through the error handling > path as done everywhere else in this function before returning. > > Signed-off-by: Christophe JAILLET This is really the tip of the iceberg here and this function's cleanup really needs to be shored up more completely than this. If the allocation of 'card' succeeds, and one of the "goto out_port" paths are taken, 'card' is leaked because the last thing performed is linking it into the list inside of 'priv'. Anyways, I'll apply this but there are so many more leaks here.
[PATCH] arcnet: com20020-pci: Fix an error handling path in 'com20020pci_probe()'
If this memory allocation fails, we should go through the error handling path as done everywhere else in this function before returning. Signed-off-by: Christophe JAILLET--- drivers/net/arcnet/com20020-pci.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/arcnet/com20020-pci.c b/drivers/net/arcnet/com20020-pci.c index 239de38fbd6a..8e89a2ac071e 100644 --- a/drivers/net/arcnet/com20020-pci.c +++ b/drivers/net/arcnet/com20020-pci.c @@ -196,8 +196,10 @@ static int com20020pci_probe(struct pci_dev *pdev, card = devm_kzalloc(>dev, sizeof(struct com20020_dev), GFP_KERNEL); - if (!card) - return -ENOMEM; + if (!card) { + ret = -ENOMEM; + goto out_port; + } card->index = i; card->pci_priv = priv; -- 2.11.0
[PATCH] arcnet: com20020-pci: Fix an error handling path in 'com20020pci_probe()'
If this memory allocation fails, we should go through the error handling path as done everywhere else in this function before returning. Signed-off-by: Christophe JAILLET --- drivers/net/arcnet/com20020-pci.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/arcnet/com20020-pci.c b/drivers/net/arcnet/com20020-pci.c index 239de38fbd6a..8e89a2ac071e 100644 --- a/drivers/net/arcnet/com20020-pci.c +++ b/drivers/net/arcnet/com20020-pci.c @@ -196,8 +196,10 @@ static int com20020pci_probe(struct pci_dev *pdev, card = devm_kzalloc(>dev, sizeof(struct com20020_dev), GFP_KERNEL); - if (!card) - return -ENOMEM; + if (!card) { + ret = -ENOMEM; + goto out_port; + } card->index = i; card->pci_priv = priv; -- 2.11.0