OSDN Git Service

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)
committerCorey Minyard <cminyard@mvista.com>
Tue, 17 Oct 2017 20:50:12 +0000 (15:50 -0500)
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>
drivers/char/ipmi/ipmi_si_intf.c

index 55e0c42..4c16af6 100644 (file)
@@ -2004,6 +2004,7 @@ int ipmi_si_add_smi(struct si_sm_io *io)
                                 ipmi_addr_src_to_str(new_smi->io.addr_source),
                                 si_to_str[new_smi->io.si_type]);
                        rv = -EBUSY;
+                       kfree(new_smi);
                        goto out_err;
                }
        }