summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichail Tatas <michail.tatas@gmail.com>2026-08-07 01:30:20 +0300
committerCorey Minyard <corey@minyard.net>2026-08-12 16:16:42 -0500
commit18e633dd9674c8bf118ea8583bb5a531edc2728a (patch)
tree78d06999f561488534ab03ef6f3f98597c13ecad
parentb6c46ab0bdee90c238e96ea4a74972118c97900d (diff)
ipmi: Fix leak in __ipmi_bmc_register
In case that ida_alloc(&ipmi_bmc_ida,...) succeeds and then platform_device_register() fails, ipmi_bmc_ida is leaked. Fix by freeing the error path Signed-off-by: Michail Tatas <michail.tatas@gmail.com> Message-ID: <anUK_HOy_pCgvsBm@michalis-linux> Signed-off-by: Corey Minyard <corey@minyard.net>
-rw-r--r--drivers/char/ipmi/ipmi_msghandler.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
index 6ff9a15cced8..7634dff99f41 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c
+++ b/drivers/char/ipmi/ipmi_msghandler.c
@@ -3301,6 +3301,7 @@ out_list_del:
list_del(&intf->bmc_link);
mutex_unlock(&bmc->dyn_mutex);
intf->bmc = &intf->tmp_bmc;
+ ida_free(&ipmi_bmc_ida, bmc->pdev.id);
put_device(&bmc->pdev.dev);
goto out;
}