[Skiboot] [PATCH v2] OCC: Fix possible memory leak in error path
Vasant Hegde
hegdevasant at linux.vnet.ibm.com
Mon Mar 9 04:33:19 AEDT 2015
Signed-off-by: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
cc: Neelesh Gupta <neelegup at linux.vnet.ibm.com>
---
changes in v2:
- replaced free with fsp_freemsg
hw/occ.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/occ.c b/hw/occ.c
index 657f2ad..cc2d4b7 100644
--- a/hw/occ.c
+++ b/hw/occ.c
@@ -409,6 +409,7 @@ static void __occ_do_load(u8 scope, u32 dbob_id __unused, u32 seq_id)
if (rc) {
log_simple_error(&e_info(OPAL_RC_OCC_LOAD),
"OCC: Error %d queueing FSP OCC LOAD STATUS msg", rc);
+ fsp_freemsg(stat);
}
}
@@ -446,6 +447,7 @@ static void occ_do_load(u8 scope, u32 dbob_id __unused, u32 seq_id)
if (rc) {
log_simple_error(&e_info(OPAL_RC_OCC_LOAD),
"OCC: Error %d queueing FSP OCC LOAD reply\n", rc);
+ fsp_freemsg(rsp);
return;
}
@@ -481,6 +483,7 @@ static void occ_do_reset(u8 scope, u32 dbob_id, u32 seq_id)
if (rsp)
rc = fsp_queue_msg(rsp, fsp_freemsg);
if (rc) {
+ fsp_freemsg(rsp);
log_simple_error(&e_info(OPAL_RC_OCC_RESET),
"OCC: Error %d queueing FSP OCC RESET reply\n", rc);
return;
@@ -509,6 +512,7 @@ static void occ_do_reset(u8 scope, u32 dbob_id, u32 seq_id)
if (stat)
rc = fsp_queue_msg(stat, fsp_freemsg);
if (rc) {
+ fsp_freemsg(stat);
log_simple_error(&e_info(OPAL_RC_OCC_RESET),
"OCC: Error %d queueing FSP OCC RESET"
" STATUS message\n", rc);
@@ -528,6 +532,7 @@ static void occ_do_reset(u8 scope, u32 dbob_id, u32 seq_id)
if (stat)
rc = fsp_queue_msg(stat, fsp_freemsg);
if (rc) {
+ fsp_freemsg(stat);
log_simple_error(&e_info(OPAL_RC_OCC_RESET),
"OCC: Error %d queueing FSP OCC RESET"
" STATUS message\n", rc);
More information about the Skiboot
mailing list