From: Colin Ian King <colin.k...@canonical.com>

[ Upstream commit c0a32fe13cd323ca9420500b16fd69589c9ba91e ]

The error exit path omits kfree'ing the allocated new_smi, causing a memory
leak.  Fix this by kfree'ing new_smi.

Detected by CoverityScan, CID#14582571 ("Resource Leak")

Fixes: 7e030d6dff71 ("ipmi: Prefer ACPI system interfaces over SMBIOS ones")
Signed-off-by: Colin Ian King <colin.k...@canonical.com>
Signed-off-by: Corey Minyard <cminy...@mvista.com>
Signed-off-by: Sasha Levin <alexander.le...@verizon.com>
---
 drivers/char/ipmi/ipmi_si_intf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index bc3984ffe867..8948b0286fb7 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -3467,6 +3467,7 @@ static int add_smi(struct smi_info *new_smi)
                                 ipmi_addr_src_to_str(new_smi->addr_source),
                                 si_to_str[new_smi->si_type]);
                        rv = -EBUSY;
+                       kfree(new_smi);
                        goto out_err;
                }
        }
-- 
2.11.0

Reply via email to