linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] qtnfmac: avoid uninitialized variable access
@ 2018-10-09 15:57 Arnd Bergmann
  2018-10-09 20:25 ` Sergey Matyukevich
  0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2018-10-09 15:57 UTC (permalink / raw)
  To: Igor Mitsyanko, Avinash Patil, Sergey Matyukevich, Kalle Valo,
	David S. Miller, Vasily Ulyanov, Andrey Shevchenko
  Cc: Arnd Bergmann, linux-wireless, netdev, linux-kernel

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 <arnd@arndb.de>
---
 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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] qtnfmac: avoid uninitialized variable access
  2018-10-09 15:57 [PATCH] qtnfmac: avoid uninitialized variable access Arnd Bergmann
@ 2018-10-09 20:25 ` Sergey Matyukevich
  2018-10-10 14:56   ` Sergey Matyukevich
  0 siblings, 1 reply; 4+ messages in thread
From: Sergey Matyukevich @ 2018-10-09 20:25 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Igor Mitsyanko, Igor Mitsyanko, Avinash Patil,
	Sergey Matyukevich, Kalle Valo, David S. Miller,
	Andrey Shevchenko, linux-wireless, netdev, linux-kernel

Hello Arnd,

> 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 <arnd@arndb.de>

Thanks for the patch! And for reminding me that I forgot to enable
gcc warnings in CI builds in addition to sparse checks.

Reviewed-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>

Regards,
Sergey

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] qtnfmac: avoid uninitialized variable access
  2018-10-09 20:25 ` Sergey Matyukevich
@ 2018-10-10 14:56   ` Sergey Matyukevich
  2018-10-11  8:08     ` Kalle Valo
  0 siblings, 1 reply; 4+ messages in thread
From: Sergey Matyukevich @ 2018-10-10 14:56 UTC (permalink / raw)
  To: Kalle Valo
  Cc: Igor Mitsyanko, Arnd Bergmann, Igor Mitsyanko, Avinash Patil,
	Sergey Matyukevich, Kalle Valo, David S. Miller,
	Andrey Shevchenko, linux-wireless, netdev, linux-kernel

> > 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 <arnd@arndb.de>
> 
> Thanks for the patch! And for reminding me that I forgot to enable
> gcc warnings in CI builds in addition to sparse checks.
> 
> Reviewed-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>

Hi Kalle,

Could you please hold back applying this patch for now. We have got
another report for the same function, this time static analysis tool
warning. It looks like the patch from Arnd does not cover both cases.
So we will take a closer look and send a combined fix later.

Regards,
Sergey

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] qtnfmac: avoid uninitialized variable access
  2018-10-10 14:56   ` Sergey Matyukevich
@ 2018-10-11  8:08     ` Kalle Valo
  0 siblings, 0 replies; 4+ messages in thread
From: Kalle Valo @ 2018-10-11  8:08 UTC (permalink / raw)
  To: Sergey Matyukevich
  Cc: Igor Mitsyanko, Arnd Bergmann, Igor Mitsyanko, Avinash Patil,
	Sergey Matyukevich, David S. Miller, Andrey Shevchenko,
	linux-wireless, netdev, linux-kernel

Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> writes:

>> > 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 <arnd@arndb.de>
>> 
>> Thanks for the patch! And for reminding me that I forgot to enable
>> gcc warnings in CI builds in addition to sparse checks.
>> 
>> Reviewed-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>
>
> Hi Kalle,
>
> Could you please hold back applying this patch for now. We have got
> another report for the same function, this time static analysis tool
> warning. It looks like the patch from Arnd does not cover both cases.
> So we will take a closer look and send a combined fix later.

Ok, I'll drop this from my queue. Please resend whatever patch I need to
apply.

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-10-11  8:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-09 15:57 [PATCH] qtnfmac: avoid uninitialized variable access Arnd Bergmann
2018-10-09 20:25 ` Sergey Matyukevich
2018-10-10 14:56   ` Sergey Matyukevich
2018-10-11  8:08     ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).