Message ID | 20240205-ath12k-mac-wuninitialized-v1-1-3fda7b17357f@kernel.org |
---|---|
State | New |
Headers | show |
Series | wifi: ath12k: Fix uninitialized use of ret in ath12k_mac_allocate() | expand |
On 2/5/2024 11:49 AM, Nathan Chancellor wrote: > Clang warns (or errors with CONFIG_WERROR=y): > > drivers/net/wireless/ath/ath12k/mac.c:8060:9: error: variable 'ret' is uninitialized when used here [-Werror,-Wuninitialized] > 8060 | return ret; > | ^~~ > drivers/net/wireless/ath/ath12k/mac.c:8022:9: note: initialize the variable 'ret' to silence this warning > 8022 | int ret, i, j; > | ^ > | = 0 > 1 error generated. > > Commit 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 > hw") added a completely uninitialized use of ret. Prior to that change, > -ENOMEM was returned to the callers of ath12k_mac_allocate() whenever > ath12k_mac_hw_allocate() failed. Assign that value to ret to make sure > it is always initialized when used and clear up the warning. > > Closes: https://github.com/ClangBuiltLinux/linux/issues/1989i > Fixes: 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 hw") > Signed-off-by: Nathan Chancellor <nathan@kernel.org> Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Nathan Chancellor <nathan@kernel.org> wrote: > Clang warns (or errors with CONFIG_WERROR=y): > > drivers/net/wireless/ath/ath12k/mac.c:8060:9: error: variable 'ret' is uninitialized when used here [-Werror,-Wuninitialized] > 8060 | return ret; > | ^~~ > drivers/net/wireless/ath/ath12k/mac.c:8022:9: note: initialize the variable 'ret' to silence this warning > 8022 | int ret, i, j; > | ^ > | = 0 > 1 error generated. > > Commit 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 > hw") added a completely uninitialized use of ret. Prior to that change, > -ENOMEM was returned to the callers of ath12k_mac_allocate() whenever > ath12k_mac_hw_allocate() failed. Assign that value to ret to make sure > it is always initialized when used and clear up the warning. > > Closes: https://github.com/ClangBuiltLinux/linux/issues/1989i > Fixes: 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 hw") > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com> > Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Patch applied to ath-next branch of ath.git, thanks. 04edb5dc68f4 wifi: ath12k: Fix uninitialized use of ret in ath12k_mac_allocate()
Hi Kalle, On Wed, Feb 07, 2024 at 03:08:14PM +0000, Kalle Valo wrote: > Nathan Chancellor <nathan@kernel.org> wrote: > > > Clang warns (or errors with CONFIG_WERROR=y): > > > > drivers/net/wireless/ath/ath12k/mac.c:8060:9: error: variable 'ret' is uninitialized when used here [-Werror,-Wuninitialized] > > 8060 | return ret; > > | ^~~ > > drivers/net/wireless/ath/ath12k/mac.c:8022:9: note: initialize the variable 'ret' to silence this warning > > 8022 | int ret, i, j; > > | ^ > > | = 0 > > 1 error generated. > > > > Commit 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 > > hw") added a completely uninitialized use of ret. Prior to that change, > > -ENOMEM was returned to the callers of ath12k_mac_allocate() whenever > > ath12k_mac_hw_allocate() failed. Assign that value to ret to make sure > > it is always initialized when used and clear up the warning. > > > > Closes: https://github.com/ClangBuiltLinux/linux/issues/1989i > > Fixes: 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 hw") > > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > > Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com> > > Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> > > Patch applied to ath-next branch of ath.git, thanks. > > 04edb5dc68f4 wifi: ath12k: Fix uninitialized use of ret in ath12k_mac_allocate() It doesn't seem like this tree or branch flows into -next on its own, so this patch is not present in and the build still breaks on next-20240221. Can this be fixed so that this warning stops breaking our builds? Cheers, Nathan
Nathan Chancellor <nathan@kernel.org> writes: > Hi Kalle, > > On Wed, Feb 07, 2024 at 03:08:14PM +0000, Kalle Valo wrote: >> Nathan Chancellor <nathan@kernel.org> wrote: >> >> > Clang warns (or errors with CONFIG_WERROR=y): >> > >> > drivers/net/wireless/ath/ath12k/mac.c:8060:9: error: variable 'ret' is uninitialized when used here [-Werror,-Wuninitialized] >> > 8060 | return ret; >> > | ^~~ >> > drivers/net/wireless/ath/ath12k/mac.c:8022:9: note: initialize >> > the variable 'ret' to silence this warning >> > 8022 | int ret, i, j; >> > | ^ >> > | = 0 >> > 1 error generated. >> > >> > Commit 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 >> > hw") added a completely uninitialized use of ret. Prior to that change, >> > -ENOMEM was returned to the callers of ath12k_mac_allocate() whenever >> > ath12k_mac_hw_allocate() failed. Assign that value to ret to make sure >> > it is always initialized when used and clear up the warning. >> > >> > Closes: https://github.com/ClangBuiltLinux/linux/issues/1989i >> > Fixes: 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 hw") >> > Signed-off-by: Nathan Chancellor <nathan@kernel.org> >> > Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com> >> > Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> >> >> Patch applied to ath-next branch of ath.git, thanks. >> >> 04edb5dc68f4 wifi: ath12k: Fix uninitialized use of ret in ath12k_mac_allocate() > > It doesn't seem like this tree or branch flows into -next on its own, so > this patch is not present in and the build still breaks on > next-20240221. Can this be fixed so that this warning stops breaking our > builds? Yeah, ath-next is not pulled to linux-next because of "reasons". We are planning to send ath-next pull request to wireless-next in the next few days.
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c index fb5bf500ed87..4b0521e8fb26 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -8038,6 +8038,7 @@ int ath12k_mac_allocate(struct ath12k_base *ab) if (!ah) { ath12k_warn(ab, "failed to allocate mac80211 hw device for hw_idx %d\n", i); + ret = -ENOMEM; goto err; }
Clang warns (or errors with CONFIG_WERROR=y): drivers/net/wireless/ath/ath12k/mac.c:8060:9: error: variable 'ret' is uninitialized when used here [-Werror,-Wuninitialized] 8060 | return ret; | ^~~ drivers/net/wireless/ath/ath12k/mac.c:8022:9: note: initialize the variable 'ret' to silence this warning 8022 | int ret, i, j; | ^ | = 0 1 error generated. Commit 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 hw") added a completely uninitialized use of ret. Prior to that change, -ENOMEM was returned to the callers of ath12k_mac_allocate() whenever ath12k_mac_hw_allocate() failed. Assign that value to ret to make sure it is always initialized when used and clear up the warning. Closes: https://github.com/ClangBuiltLinux/linux/issues/1989i Fixes: 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 hw") Signed-off-by: Nathan Chancellor <nathan@kernel.org> --- drivers/net/wireless/ath/ath12k/mac.c | 1 + 1 file changed, 1 insertion(+) --- base-commit: b82fb7ef690bd929b88d9aab1d191ff502ed9029 change-id: 20240205-ath12k-mac-wuninitialized-1bc5faf17d29 Best regards,