Patch "wifi: rtw89: use u32_encode_bits() to fill MAC quota value" has been added to the 6.0-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    wifi: rtw89: use u32_encode_bits() to fill MAC quota value

to the 6.0-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     wifi-rtw89-use-u32_encode_bits-to-fill-mac-quota-val.patch
and it can be found in the queue-6.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 5010aae393c50a28dc6d80ae4e24013e047c25bc
Author: Ping-Ke Shih <pkshih@xxxxxxxxxxx>
Date:   Tue Nov 8 09:38:58 2022 +0800

    wifi: rtw89: use u32_encode_bits() to fill MAC quota value
    
    [ Upstream commit 525c06c81d75690a9b795cc62a758838c1a6b6fe ]
    
    Coverity reported shift 16 bits could cause sign extension and might get
    an unexpected value. Since the input values are predefined and no this
    kind of case, original code is safe so far. But, still changing them to
    use u32_encode_bits() will be more clear and prevent mistakes in the
    future.
    
    The original message of Coverity is:
      Suspicious implicit sign extension: "max_cfg->cma0_dma" with type "u16"
      (16 bits, unsigned) is promoted in "max_cfg->cma0_dma << 16" to type
      "int" (32 bits, signed), then sign-extended to type "unsigned long"
      (64 bits, unsigned).  If "max_cfg->cma0_dma << 16" is greater than
      0x7FFFFFFF, the upper bits of the result will all be 1."
    
    Reported-by: coverity-bot <keescook+coverity-bot@xxxxxxxxxxxx>
    Addresses-Coverity-ID: 1527095 ("Integer handling issues")
    Fixes: e3ec7017f6a2 ("rtw89: add Realtek 802.11ax driver")
    Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx>
    Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20221108013858.10806-1-pkshih@xxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c
index 93124b815825..1afc14531194 100644
--- a/drivers/net/wireless/realtek/rtw89/mac.c
+++ b/drivers/net/wireless/realtek/rtw89/mac.c
@@ -1387,10 +1387,8 @@ static int dle_mix_cfg(struct rtw89_dev *rtwdev, const struct rtw89_dle_mem *cfg
 #define INVALID_QT_WCPU U16_MAX
 #define SET_QUOTA_VAL(_min_x, _max_x, _module, _idx)			\
 	do {								\
-		val = ((_min_x) &					\
-		       B_AX_ ## _module ## _MIN_SIZE_MASK) |		\
-		      (((_max_x) << 16) &				\
-		       B_AX_ ## _module ## _MAX_SIZE_MASK);		\
+		val = u32_encode_bits(_min_x, B_AX_ ## _module ## _MIN_SIZE_MASK) | \
+		      u32_encode_bits(_max_x, B_AX_ ## _module ## _MAX_SIZE_MASK);  \
 		rtw89_write32(rtwdev,					\
 			      R_AX_ ## _module ## _QTA ## _idx ## _CFG,	\
 			      val);					\



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux