[PATCH] ath11k: Silence clang -Wsometimes-uninitialized in ath11k_update_per_peer_stats_from_txcompl

3 views
Skip to first unread message

Nathan Chancellor

unread,
Jan 29, 2020, 8:59:11 PM1/29/20
to Kalle Valo, ath...@lists.infradead.org, linux-w...@vger.kernel.org, net...@vger.kernel.org, linux-...@vger.kernel.org, clang-bu...@googlegroups.com, Nathan Chancellor, ci_n...@linaro.org
Clang warns a few times (trimmed for brevity):

../drivers/net/wireless/ath/ath11k/debugfs_sta.c:185:7: warning:
variable 'rate_idx' is used uninitialized whenever 'if' condition is
false [-Wsometimes-uninitialized]

It is not wrong, rate_idx is only initialized in the first if block.
However, this is not necessarily an issue in practice because rate_idx
will only be used when initialized because
ath11k_accumulate_per_peer_tx_stats only uses rate_idx when flags is not
set to RATE_INFO_FLAGS_HE_MCS, RATE_INFO_FLAGS_VHT_MCS, or
RATE_INFO_FLAGS_MCS. Still, it is not good to stick uninitialized values
into another function so initialize it to zero to prevent any issues
down the line.

Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Link: https://github.com/ClangBuiltLinux/linux/issues/832
Reported-by: ci_n...@linaro.org
Signed-off-by: Nathan Chancellor <natecha...@gmail.com>
---
drivers/net/wireless/ath/ath11k/debugfs_sta.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/debugfs_sta.c b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
index 743760c9bcae..a5bdd16d6d46 100644
--- a/drivers/net/wireless/ath/ath11k/debugfs_sta.c
+++ b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
@@ -136,7 +136,7 @@ void ath11k_update_per_peer_stats_from_txcompl(struct ath11k *ar,
struct ath11k_sta *arsta;
struct ieee80211_sta *sta;
u16 rate;
- u8 rate_idx;
+ u8 rate_idx = 0;
int ret;
u8 mcs;

--
2.25.0

Nick Desaulniers

unread,
Feb 3, 2020, 10:19:02 AM2/3/20
to Nathan Chancellor, Kalle Valo, ath...@lists.infradead.org, linux-w...@vger.kernel.org, Network Development, LKML, clang-built-linux, CI Notify
On Thu, Jan 30, 2020 at 1:59 AM Nathan Chancellor
<natecha...@gmail.com> wrote:
>
> Clang warns a few times (trimmed for brevity):
>
> ../drivers/net/wireless/ath/ath11k/debugfs_sta.c:185:7: warning:
> variable 'rate_idx' is used uninitialized whenever 'if' condition is
> false [-Wsometimes-uninitialized]
>
> It is not wrong, rate_idx is only initialized in the first if block.
> However, this is not necessarily an issue in practice because rate_idx
> will only be used when initialized because
> ath11k_accumulate_per_peer_tx_stats only uses rate_idx when flags is not
> set to RATE_INFO_FLAGS_HE_MCS, RATE_INFO_FLAGS_VHT_MCS, or
> RATE_INFO_FLAGS_MCS. Still, it is not good to stick uninitialized values
> into another function so initialize it to zero to prevent any issues
> down the line.
>
> Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
> Link: https://github.com/ClangBuiltLinux/linux/issues/832
> Reported-by: ci_n...@linaro.org
> Signed-off-by: Nathan Chancellor <natecha...@gmail.com>

Thanks for the patch. A bit tricky to follow that this (previously) is safe.
Reviewed-by: Nick Desaulniers <ndesau...@google.com>

> ---
> drivers/net/wireless/ath/ath11k/debugfs_sta.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath11k/debugfs_sta.c b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
> index 743760c9bcae..a5bdd16d6d46 100644
> --- a/drivers/net/wireless/ath/ath11k/debugfs_sta.c
> +++ b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
> @@ -136,7 +136,7 @@ void ath11k_update_per_peer_stats_from_txcompl(struct ath11k *ar,
> struct ath11k_sta *arsta;
> struct ieee80211_sta *sta;
> u16 rate;
> - u8 rate_idx;
> + u8 rate_idx = 0;
> int ret;
> u8 mcs;
>
> --
> 2.25.0
>
> --
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-li...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20200130015905.18610-1-natechancellor%40gmail.com.



--
Thanks,
~Nick Desaulniers

Kalle Valo

unread,
Feb 11, 2020, 9:24:37 AM2/11/20
to Nathan Chancellor, ath...@lists.infradead.org, linux-w...@vger.kernel.org, net...@vger.kernel.org, linux-...@vger.kernel.org, clang-bu...@googlegroups.com, Nathan Chancellor, ci_n...@linaro.org
Nathan Chancellor <natecha...@gmail.com> wrote:

> Clang warns a few times (trimmed for brevity):
>
> ../drivers/net/wireless/ath/ath11k/debugfs_sta.c:185:7: warning:
> variable 'rate_idx' is used uninitialized whenever 'if' condition is
> false [-Wsometimes-uninitialized]
>
> It is not wrong, rate_idx is only initialized in the first if block.
> However, this is not necessarily an issue in practice because rate_idx
> will only be used when initialized because
> ath11k_accumulate_per_peer_tx_stats only uses rate_idx when flags is not
> set to RATE_INFO_FLAGS_HE_MCS, RATE_INFO_FLAGS_VHT_MCS, or
> RATE_INFO_FLAGS_MCS. Still, it is not good to stick uninitialized values
> into another function so initialize it to zero to prevent any issues
> down the line.
>
> Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
> Link: https://github.com/ClangBuiltLinux/linux/issues/832
> Reported-by: ci_n...@linaro.org
> Signed-off-by: Nathan Chancellor <natecha...@gmail.com>
> Reviewed-by: Nick Desaulniers <ndesau...@google.com>
> Signed-off-by: Kalle Valo <kv...@codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

df57acc415b1 ath11k: Silence clang -Wsometimes-uninitialized in ath11k_update_per_peer_stats_from_txcompl

--
https://patchwork.kernel.org/patch/11357331/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

Nick Desaulniers

unread,
Mar 16, 2020, 5:15:31 PM3/16/20
to Kalle Valo, Nathan Chancellor, ath...@lists.infradead.org, linux-w...@vger.kernel.org, Network Development, LKML, clang-built-linux, CI Notify
Hi Kalle, I still see this warning in KernelCI builds of linux-next.
Is ath-next flowing into linux-next? I just want to triple check that
this fix gets sent along.
> --
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-li...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20200211142431.243E6C433A2%40smtp.codeaurora.org.



--
Thanks,
~Nick Desaulniers

Kalle Valo

unread,
Mar 17, 2020, 4:29:58 AM3/17/20
to Nick Desaulniers, Network Development, linux-w...@vger.kernel.org, LKML, clang-built-linux, Nathan Chancellor, CI Notify, ath...@lists.infradead.org
Nick Desaulniers <ndesau...@google.com> writes:

> Hi Kalle, I still see this warning in KernelCI builds of linux-next.
> Is ath-next flowing into linux-next? I just want to triple check that
> this fix gets sent along.

ath-next is not pulled to linux-next. But this commit is in
wireless-drivers-next now and that tree is pulled to linux-next.

--
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Reply all
Reply to author
Forward
0 new messages