Search Linux Wireless

Re: [PATCH wireless 1/9] wifi: cfg80211: avoid garbage value of 'io_type' in brcmf_cfg80211_attach()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024/7/3 12:42, Arend Van Spriel wrote:
On July 3, 2024 3:42:18 AM Su Hui <suhui@xxxxxxxxxxxx> wrote:

On 2024/7/2 23:39, Arend Van Spriel wrote:
On July 2, 2024 5:29:27 PM Kalle Valo <kvalo@xxxxxxxxxx> wrote:

Arend Van Spriel <arend.vanspriel@xxxxxxxxxxxx> writes:

On July 2, 2024 3:57:27 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx>
wrote:

On Tue, Jul 02, 2024 at 08:24:44PM +0800, Su Hui wrote:
brcmf_fil_cmd_int_get() reads the value of 'io_type' and passes it to
brcmf_fil_cmd_data_get(). Initialize 'io_type' to avoid garbage
value.

Since you're going to be resending anyway, please delete the space
char
from the start of the line.

It's weird that brcmf_fil_cmd_data_get() uses the uninitialized data.
It looks like it just goes to great lengths to preserve the original
data in io_type...  So it likely is harmless enough but still a
strange
and complicated way write a no-op.

Not sure if it helps, but I tried to explain the reason in response to
patch 0 (cover letter).

Would it make more sense to have just one patch? It's the same issue
anyway.

Yes, but I would solve it in brcmf_fil_* functions (fwil.[ch]).
It seems you will send a new patch to solve this issue.
And I guess there is no need for me to resend a v2 patchset or just one
patch.

I am not entirely sure. If both gcc and clang would warn about using uninitialized data I would be fine with these patches rolled into one.
It's sad that gcc wouldn't warn about this uninitialized data. And my gcc version
is  10.2.1 20210110 (Debian 10.2.1-6) .
By the way, I found a funny thing about this uninitialized warning.
Just with the patch as follows , gcc will give a uninitialized warning.

--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
@@ -130,6 +130,7 @@ static int brcmf_c_download_blob(struct brcmf_if *ifp,
        u32 status;
        s32 err;

+       err = brcmf_fil_iovar_int_get(ifp, statvar, &status);
        brcmf_dbg(TRACE, "Enter\n");

        chunk_buf = kzalloc(struct_size(chunk_buf, data, MAX_CHUNK_LEN),

It seems that gcc only issue this uninitialized warning in some sitution.
I think it's worth a patch to fix this uninitialized problem.  :)

Regards,
Su Hui





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux