lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 27 Nov 2023 02:04:14 +0000
From:   Ping-Ke Shih <pkshih@...ltek.com>
To:     Su Hui <suhui@...china.com>,
        "dan.carpenter@...aro.org" <dan.carpenter@...aro.org>,
        "kvalo@...nel.org" <kvalo@...nel.org>,
        "nathan@...nel.org" <nathan@...nel.org>,
        "ndesaulniers@...gle.com" <ndesaulniers@...gle.com>,
        "trix@...hat.com" <trix@...hat.com>
CC:     "lizetao1@...wei.com" <lizetao1@...wei.com>,
        "linville@...driver.com" <linville@...driver.com>,
        "Larry.Finger@...inger.net" <Larry.Finger@...inger.net>,
        "linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "llvm@...ts.linux.dev" <llvm@...ts.linux.dev>,
        "kernel-janitors@...r.kernel.org" <kernel-janitors@...r.kernel.org>
Subject: RE: [PATCH wireless-next v3 2/2] wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior



> -----Original Message-----
> From: Su Hui <suhui@...china.com>
> Sent: Monday, November 27, 2023 9:35 AM
> To: Ping-Ke Shih <pkshih@...ltek.com>; dan.carpenter@...aro.org; kvalo@...nel.org; nathan@...nel.org;
> ndesaulniers@...gle.com; trix@...hat.com
> Cc: Su Hui <suhui@...china.com>; lizetao1@...wei.com; linville@...driver.com; Larry.Finger@...inger.net;
> linux-wireless@...r.kernel.org; linux-kernel@...r.kernel.org; llvm@...ts.linux.dev;
> kernel-janitors@...r.kernel.org
> Subject: [PATCH wireless-next v3 2/2] wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior
> 
> Clang staic checker warning:
> drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c:184:49:
>         The result of the left shift is undefined due to shifting by '32',
>         which is greater or equal to the width of type 'u32'.
>         [core.UndefinedBinaryOperatorResult]
> 
> If the value of the right operand is negative or is greater than or
> equal to the width of the promoted left operand, the behavior is
> undefined.[1][2]
> 
> For example, when using different gcc's compilation optimizaation options
> (-O0 or -O2), the result of '(u32)data << 32' is different. One is 0, the
> other is old value of data. Let _rtl8821ae_phy_calculate_bit_shift()'s
> return value less than 32 to fix this problem. Warn if bitmask is zero.
> 
> [1]:https://stackoverflow.com/questions/11270492/what-does-the-c-
> standard-say-about-bitshifting-more-bits-than-the-width-of-type
> [2]:https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf
> 
> Fixes: 21e4b0726dc6 ("rtlwifi: rtl8821ae: Move driver from staging to regular tree")
> Signed-off-by: Su Hui <suhui@...china.com>

Acked-by: Ping-Ke Shih <pkshih@...ltek.com>

> +       if (WARN_ON_ONCE(!bitmask))

I test this patch with real hardware to connect 2GHz and 5GHz AP
respectively and keep ping for a while. It doesn't throw warning
by this statement. 


Powered by blists - more mailing lists