Patch "mac80211: fix rate mask reset" has been added to the 5.4-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

    mac80211: fix rate mask reset

to the 5.4-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:
     mac80211-fix-rate-mask-reset.patch
and it can be found in the queue-5.4 subdirectory.

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



commit 2426de080c0ba5e7d0728ba86bd8571edbb60eef
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date:   Fri Feb 12 11:22:14 2021 +0100

    mac80211: fix rate mask reset
    
    [ Upstream commit 1944015fe9c1d9fa5e9eb7ffbbb5ef8954d6753b ]
    
    Coverity reported the strange "if (~...)" condition that's
    always true. It suggested that ! was intended instead of ~,
    but upon further analysis I'm convinced that what really was
    intended was a comparison to 0xff/0xffff (in HT/VHT cases
    respectively), since this indicates that all of the rates
    are enabled.
    
    Change the comparison accordingly.
    
    I'm guessing this never really mattered because a reset to
    not having a rate mask is basically equivalent to having a
    mask that enables all rates.
    
    Reported-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
    Fixes: 2ffbe6d33366 ("mac80211: fix and optimize MCS mask handling")
    Fixes: b119ad6e726c ("mac80211: add rate mask logic for vht rates")
    Reviewed-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20210212112213.36b38078f569.I8546a20c80bc1669058eb453e213630b846e107b@changeid
    Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index fa293feef935..677928bf13d1 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -2906,14 +2906,14 @@ static int ieee80211_set_bitrate_mask(struct wiphy *wiphy,
 			continue;
 
 		for (j = 0; j < IEEE80211_HT_MCS_MASK_LEN; j++) {
-			if (~sdata->rc_rateidx_mcs_mask[i][j]) {
+			if (sdata->rc_rateidx_mcs_mask[i][j] != 0xff) {
 				sdata->rc_has_mcs_mask[i] = true;
 				break;
 			}
 		}
 
 		for (j = 0; j < NL80211_VHT_NSS_MAX; j++) {
-			if (~sdata->rc_rateidx_vht_mcs_mask[i][j]) {
+			if (sdata->rc_rateidx_vht_mcs_mask[i][j] != 0xffff) {
 				sdata->rc_has_vht_mcs_mask[i] = true;
 				break;
 			}



[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