[PATCH 1/2] pci: endpoint: Free func_name after last usage

From: Rolf Evers-Fischer
Date: Wed Feb 21 2018 - 07:48:36 EST


From: Rolf Evers-Fischer <rolf.evers.fischer@xxxxxxxxx>

This commit decreases the number of jump labels and ensures
that the next commit doesn't increase the number of occurrences
of 'kfree(func_name)'.

Change-Id: I0d1b6fd652395b85f82b11c43bf9b7db512854d1
Signed-off-by: Rolf Evers-Fischer <rolf.evers.fischer@xxxxxxxxx>
Signed-off-by: Rolf Evers-Fischer <embedded24@xxxxxxxxxxxxxxxx>
---
drivers/pci/endpoint/pci-epf-core.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c
index 766ce1dca2ec..23d0e128d1a5 100644
--- a/drivers/pci/endpoint/pci-epf-core.c
+++ b/drivers/pci/endpoint/pci-epf-core.c
@@ -220,9 +220,10 @@ struct pci_epf *pci_epf_create(const char *name)
*buf = '\0';

epf->name = kstrdup(func_name, GFP_KERNEL);
+ kfree(func_name);
if (!epf->name) {
ret = -ENOMEM;
- goto free_func_name;
+ goto free_epf;
}

dev = &epf->dev;
@@ -238,16 +239,12 @@ struct pci_epf *pci_epf_create(const char *name)
if (ret)
goto put_dev;

- kfree(func_name);
return epf;

put_dev:
put_device(dev);
kfree(epf->name);

-free_func_name:
- kfree(func_name);
-
free_epf:
kfree(epf);

--
2.16.2