ipmi_si: fix memory leak on new_smi
authorColin Ian King <colin.king@canonical.com>
Tue, 17 Oct 2017 15:54:52 +0000 (16:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Dec 2017 09:10:35 +0000 (10:10 +0100)
[ 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.king@canonical.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/ipmi/ipmi_si_intf.c

index c04aa11..e1cbb78 100644 (file)
@@ -3469,6 +3469,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;
                }
        }