2017-08-06 22:00:24

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] qed: Fix a memory allocation failure test in 'qed_mcp_cmd_init()'

We allocate 'p_info->mfw_mb_cur' and 'p_info->mfw_mb_shadow' but we check
'p_info->mfw_mb_addr' instead of 'p_info->mfw_mb_cur'.

'p_info->mfw_mb_addr' is never 0, because it is initiliazed a few lines
above in 'qed_load_mcp_offsets()'.

Update the test and check the result of the 2 'kzalloc()' instead.

Signed-off-by: Christophe JAILLET <[email protected]>
---
drivers/net/ethernet/qlogic/qed/qed_mcp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/qlogic/qed/qed_mcp.c b/drivers/net/ethernet/qlogic/qed/qed_mcp.c
index c1ecce6b9141..376485d99357 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_mcp.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_mcp.c
@@ -253,7 +253,7 @@ int qed_mcp_cmd_init(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt)
size = MFW_DRV_MSG_MAX_DWORDS(p_info->mfw_mb_length) * sizeof(u32);
p_info->mfw_mb_cur = kzalloc(size, GFP_KERNEL);
p_info->mfw_mb_shadow = kzalloc(size, GFP_KERNEL);
- if (!p_info->mfw_mb_shadow || !p_info->mfw_mb_addr)
+ if (!p_info->mfw_mb_cur || !p_info->mfw_mb_shadow)
goto err;

return 0;
--
2.11.0


2017-08-07 07:41:00

by Tayar, Tomer

[permalink] [raw]
Subject: RE: [PATCH] qed: Fix a memory allocation failure test in 'qed_mcp_cmd_init()'

> We allocate 'p_info->mfw_mb_cur' and 'p_info->mfw_mb_shadow' but we
> check
> 'p_info->mfw_mb_addr' instead of 'p_info->mfw_mb_cur'.
>
> 'p_info->mfw_mb_addr' is never 0, because it is initiliazed a few lines
> above in 'qed_load_mcp_offsets()'.
>
> Update the test and check the result of the 2 'kzalloc()' instead.
>
> Signed-off-by: Christophe JAILLET <[email protected]>

Thanks

Acked-by: Tomer Tayar <[email protected]>