From: Arnd Bergmann Subject: [PATCH] qtnfmac: avoid uninitialized variable access Date: Tue, 9 Oct 2018 17:57:35 +0200 Message-ID: <20181009155757.494212-1-arnd@arndb.de> Cc: Arnd Bergmann , linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org To: Igor Mitsyanko , Avinash Patil , Sergey Matyukevich , Kalle Valo , "David S. Miller" , Vasily Ulyanov , Andrey Shevchenko Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org When qtnf_trans_send_cmd_with_resp() fails, we have not yet initialized 'resp', as pointed out by a valid gcc warning: drivers/net/wireless/quantenna/qtnfmac/commands.c: In function 'qtnf_cmd_send_with_reply': drivers/net/wireless/quantenna/qtnfmac/commands.c:133:54: error: 'resp' may be used uninitialized in this function [-Werror=maybe-uninitialized] Since 'resp_skb' is also not set here, we can skip all further processing and just print the warning and return the failure code. Fixes: c6ed298ffe09 ("qtnfmac: cleanup and unify command error handling") Signed-off-by: Arnd Bergmann --- drivers/net/wireless/quantenna/qtnfmac/commands.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/quantenna/qtnfmac/commands.c b/drivers/net/wireless/quantenna/qtnfmac/commands.c index bfdc1ad30c13..9b211459684a 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/commands.c +++ b/drivers/net/wireless/quantenna/qtnfmac/commands.c @@ -111,7 +111,7 @@ static int qtnf_cmd_send_with_reply(struct qtnf_bus *bus, ret = qtnf_trans_send_cmd_with_resp(bus, cmd_skb, &resp_skb); if (ret) - goto out; + goto out_noresp; resp = (const struct qlink_resp *)resp_skb->data; ret = qtnf_cmd_check_reply_header(resp, cmd_id, mac_id, vif_id, @@ -132,6 +132,7 @@ static int qtnf_cmd_send_with_reply(struct qtnf_bus *bus, if (!ret && resp) return qtnf_cmd_resp_result_decode(le16_to_cpu(resp->result)); +out_noresp: pr_warn("VIF%u.%u: cmd 0x%.4X failed: %d\n", mac_id, vif_id, le16_to_cpu(cmd->cmd_id), ret); -- 2.18.0