Message ID | 20241211134041.65860-2-gianf.trad@gmail.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | qed: fix uninit pointer read in qed_mcp_nvm_info_populate() | expand |
diff --git a/drivers/net/ethernet/qlogic/qed/qed_mcp.c b/drivers/net/ethernet/qlogic/qed/qed_mcp.c index b45efc272fdb..127943b39f61 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_mcp.c +++ b/drivers/net/ethernet/qlogic/qed/qed_mcp.c @@ -3387,7 +3387,7 @@ int qed_mcp_nvm_info_populate(struct qed_hwfn *p_hwfn) } out: /* Update hwfn's nvm_info */ - if (nvm_info.num_images) { + if (nvm_info.num_images && rc != -EOPNOTSUPP) { p_hwfn->nvm_info.num_images = nvm_info.num_images; kfree(p_hwfn->nvm_info.image_att); p_hwfn->nvm_info.image_att = nvm_info.image_att;
Coverity reports an uninit pointer read in qed_mcp_nvm_info_populate(). If qed_mcp_bist_nvm_get_num_images() returns -EOPNOTSUPP, this leads to jump to label out with nvm_info.image_att being uninit while assigning it to p_hwfn->nvm_info.image_att. Add check on rc against -EOPNOTSUPP to avoid such uninit pointer read. Closes: https://scan5.scan.coverity.com/#/project-view/63204/10063?selectedIssue=1636666 Signed-off-by: Gianfranco Trad <gianf.trad@gmail.com> --- Note: - Fixes: tag should be "7a0ea70da56e net/qed: allow old cards not supporting "num_images" to work" ? drivers/net/ethernet/qlogic/qed/qed_mcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)