Sosthène Guédon
aeddc05fa9
nl80211: Fix typo pmsr->pmsr
...
This was mis-spelled in the policy, fix that.
Signed-off-by: Sosthène Guédon <sosthene@guedon.gdn >
Link: https://lore.kernel.org/r/YLkT27RG0DaWLUot@arch.localdomain
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 12:37:09 +02:00
Zheng Yongjun
ab4040df6e
mac80211: fix some spelling mistakes
...
Fix some spelling mistakes in comments:
freeed ==> freed
addreses ==> addresses
containging ==> containing
capablity ==> capability
sucess ==> success
atleast ==> at least
Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com >
Link: https://lore.kernel.org/r/20210607150047.2855962-1-zhengyongjun3@huawei.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 12:36:32 +02:00
Johannes Berg
f253683e60
cfg80211: remove ieee80211_get_he_sta_cap()
...
This function turned out to be too easy to misuse since it
doesn't consider the interface type. Remove it now that we
no longer use it in mac80211.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.8c9c72f914b0.I68e9c0626dc77a0f67f238a05ae16a0b77b09895@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:33:27 +02:00
Johannes Berg
bac2fd3d75
mac80211: remove use of ieee80211_get_he_sta_cap()
...
All uses of ieee80211_get_he_sta_cap() were actually wrong,
in net/mac80211/mlme.c they were wrong because that code is
also used for P2P (which is a different interface type), in
net/mac80211/main.c that should check all interface types.
Fix all that.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.ede114bc8b46.Ibcd9a5d98430e936344eb6d242ef8a65c2f59b74@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:33:26 +02:00
Johannes Berg
64a8747238
cfg80211: trace more information in assoc trace event
...
Add more information to the assoc trace event so we can see
more precisely what's going on and what options were used.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.86c58fca486d.Iabd8f036d2ef1d770fd20ed3ccd149f32154f430@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Johannes Berg
6516ee22f2
mac80211: improve AP disconnect message
...
If the AP changes capability/bandwidth in some fashion, the
message might be somewhat misleading and we don't know what
really changed. Modify the message to speak about "caps/bw"
instead of just "bandwidth", and print out the flags.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.dc22c48985fa.I4bf5fbc17ec783c21d4b50c8c35b1de390896ccd@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Johannes Berg
c74025f47a
mac80211: rearrange struct txq_info for fewer holes
...
We can slightly decrease the size of struct txq_info by
rearranging some fields for fewer holes, so do that.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.1bf019a1fe2e.Ib54622b8d6dc1a9a7dc484e573c073119450538b@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Johannes Berg
9c7c637050
ieee80211: add defines for HE PHY cap byte 10
...
One bit out of the previously completely reserved byte 10 in
the PHY capabilities is used since 802.11ax D7.0, add a new
define for it.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.c026feb3873d.I380f52a05ddb4153bc77ff7f276a3484819f69b2@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Ilan Peer
45daaa1318
mac80211: Properly WARN on HW scan before restart
...
The following race was possible:
1. The device driver requests HW restart.
2. A scan is requested from user space and is propagated
to the driver. During this flow HW_SCANNING flag is set.
3. The thread that handles the HW restart is scheduled,
and before starting the actual reconfiguration it
checks that HW_SCANNING is not set. The flow does so
without acquiring any lock, and thus the WARN fires.
Fix this by checking that HW_SCANNING is on only after RTNL is
acquired, i.e., user space scan request handling is no longer
in transit.
Signed-off-by: Ilan Peer <ilan.peer@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.8238ab3e19ab.I2693c581c70251472b4f9089e37e06fb2c18268f@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Avraham Stern
dd3e4fc75b
nl80211/cfg80211: add BSS color to NDP ranging parameters
...
In NDP ranging, the initiator need to set the BSS color in the NDP
to the BSS color of the responder. Add the BSS color as a parameter
for NDP ranging.
Signed-off-by: Avraham Stern <avraham.stern@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.f097a6144b59.I27dec8b994df52e691925ea61be4dd4fa6d396c0@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Shaul Triebitz
d8b261548d
mac80211: add to bss_conf if broadcast TWT is supported
...
Add to struct ieee80211_bss_conf a twt_broadcast field.
Set it to true if both STA and AP support broadcast TWT.
Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.f7c105237541.I50b302044e2b35e5ed4d3fb8bc7bd3d8bb89b1e1@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Krishnanand Prabhu
7da70d6cdf
ieee80211: define timing measurement in extended capabilities IE
...
Define the bit used for timing measurement support in extended
capabilities IE, used for time synchronization.
Signed-off-by: Krishnanand Prabhu <krishnanand.prabhu@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.b75f40765538.I92b50e43e29272c97d17ed5f37f216f4caf0f205@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Mordechay Goodstein
d6c375095a
mac80211: handle rate control (RC) racing with chanctx definition
...
chanctx represents the current phy configuration and rate scale uses
it for achieving max throughput, so if phy changes bandwidth to narrow
bandwidth, RC should be _first_ updated to avoid using the wider bandwidth
before updating the phy, and vice versa.
We assume in the patch that station interface is always updated before
updating phy context by calling ieee80211_vif_update_chandef.
Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.fc4e24496aa2.Ic40ea947c2f65739ea4b5fe3babd0a544240ced6@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Johannes Berg
7d7b00759e
mac80211: free skb in WEP error case
...
If, for some strange reason, ieee80211_wep_encrypt() fails in
ieee80211_send_auth() free the SKB instead of sending out the
useless frame, in addition to the warning. This can't really
happen since the SKB was freshly allocated.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.98f058d7a8b2.Ie605e6a10e72eae02f5734032826af48b85b6d11@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Shaul Triebitz
79ea0a5fad
mac80211: move SMPS mode setting after ieee80211_prep_connection
...
ieee80211_mgd_assoc calls ieee80211_prep_connection which
might call ieee80211_prep_channel and set smps_mode to OFF.
That will override the previous setting of smps_mode in
ieee80211_mgd_assoc and HT SMPS will be set to "disabled"
in the association request frame.
Move the setting of smps_mode in ieee80211_mgd_assoc to
after the call to ieee80211_prep_connection.
Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.d8e5cc4b527f.Icf3a67fffbdd8c408c0cadfe43f8f4cffdc90acb@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:14 +02:00
Johannes Berg
10a35c222b
mac80211: allow SMPS requests only in client mode
...
The code currently allows this for AP mode, but then ignores
it. Clarify that since the spec doesn't allow it in AP mode.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20210618133832.0465f8bcbe32.Iba39fc559ecfa887be00a5f3beabd881e5c86e54@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Felix Fietkau
e41eb3e408
mac80211: remove iwlwifi specific workaround that broke sta NDP tx
...
Sending nulldata packets is important for sw AP link probing and detecting
4-address mode links. The checks that dropped these packets were apparently
added to work around an iwlwifi firmware bug with multi-TID aggregation.
Fixes: 41cbb0f5a2 ("mac80211: add support for HE")
Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name >
Link: https://lore.kernel.org/r/20210619101517.90806-1-nbd@nbd.name
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Christophe JAILLET
1806239dec
ieee80211: add the value for Category '6' in "rtw_ieee80211_category"
...
Preparation work for removing the "enum rtw_ieee80211_category" in
"drivers/staging/rtl8188eu/include/ieee80211.h" and
"drivers/staging/rtl8723bs/include/ieee80211.h".
This enum is similar to "enum ieee80211_category" from
"include/linux/ieee80211.h". However it defines the value '6' as
RTW_WLAN_CATEGORY_FT.
So add a corresponding value in "ieee80211_category"
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr >
Link: https://lore.kernel.org/r/66be0187869bd7dae1c0b0785a32db695ee9872e.1624108556.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Nguyen Dinh Phi
93efeeea0f
mac80211_hwsim: record stats in non-netlink path
...
The data go through mac80211_hwsim_tx_frame_no_nl() wasn't counted.
Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com >
Link: https://lore.kernel.org/r/20210622152429.881230-1-phind.uet@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Weilun Du
626c30f9e7
mac80211_hwsim: add concurrent channels scanning support over virtio
...
This fixed the crash when setting channels to 2 or more when
communicating over virtio.
Signed-off-by: Weilun Du <wdu@google.com >
Link: https://lore.kernel.org/r/20210506180530.3418576-1-wdu@google.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Wen Gong
e6ed929b41
wireless: add check of field VHT Extended NSS BW Capable for 160/80+80 MHz setting
...
Table 9-251—Supported VHT-MCS and NSS Set subfields, it has subfield VHT Extended
NSS BW Capable, its definition is:
Indicates whether the STA is capable of interpreting the Extended NSS BW
Support subfield of the VHT Capabilities Information field.
This patch is to add check for the subfield.
Signed-off-by: Wen Gong <wgong@codeaurora.org >
Link: https://lore.kernel.org/r/20210524033624.16993-1-wgong@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Ryder Lee
4f2e3eb6c9
mac80211: check per vif offload_flags in Tx path
...
offload_flags has been introduced to indicate encap status of each interface.
An interface can encap offload at runtime, or if it has some extra limitations
it can simply override the flags, so it's more flexible to check offload_flags
in Tx path.
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com >
Link: https://lore.kernel.org/r/177785418cf407808bf3a44760302d0647076990.1623961575.git.ryder.lee@mediatek.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Ryder Lee
3187ba0cea
mac80211: add rate control support for encap offload
...
The software rate control cannot deal with encap offload, so fix it.
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com >
Link: https://lore.kernel.org/r/20210617163113.75815-3-nbd@nbd.name
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Ryder Lee
03c3911d2d
mac80211: call ieee80211_tx_h_rate_ctrl() when dequeue
...
Make ieee80211_tx_h_rate_ctrl() get called on dequeue to improve
performance since it reduces the turnaround time for rate control.
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com >
Link: https://lore.kernel.org/r/20210617163113.75815-2-nbd@nbd.name
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Felix Fietkau
08a46c6420
mac80211: move A-MPDU session check from minstrel_ht to mac80211
...
This avoids calling back into tx handlers from within the rate control module.
Preparation for deferring rate control until tx dequeue
Signed-off-by: Felix Fietkau <nbd@nbd.name >
Link: https://lore.kernel.org/r/20210617163113.75815-1-nbd@nbd.name
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Emmanuel Grumbach
358ae88881
cfg80211: expose the rfkill device to the low level driver
...
This will allow the low level driver to query the rfkill
state.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Link: https://lore.kernel.org/r/20210616202826.9833-1-emmanuel.grumbach@intel.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:13 +02:00
Johannes Berg
3f9d9725cb
mac80211: don't open-code LED manipulations
...
We shouldn't open-code led_trigger_blink() or led_trigger_event(),
use them instead of badly open-coding them. This also fixes the
locking, led_trigger_blink() and led_trigger_event() now use
read_lock_irqsave().
Link: https://lore.kernel.org/r/20210616212804.b19ba1c60353.I8ea1b4defd5e12fc20ef281291e602feeec336a6@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:12 +02:00
Johannes Berg
d656a4c6ea
mac80211: consider per-CPU statistics if present
...
If we have been keeping per-CPU statistics, consider them
regardless of USES_RSS, because we may not actually fill
those, for example in non-fast-RX cases when the connection
is not compatible with fast-RX. If we didn't fill them, the
additional data will be zero and not affect anything, and
if we did fill them then it's more correct to consider them.
This fixes an issue in mesh mode where some statistics are
not updated due to USES_RSS being set, but fast-RX isn't
used.
Reported-by: Thiraviyam Mariyappan <tmariyap@codeaurora.org >
Link: https://lore.kernel.org/r/20210610220814.13b35f5797c5.I511e9b33c5694e0d6cef4b6ae755c873d7c22124@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:29:10 +02:00
Ping-Ke Shih
9df66d5b9f
cfg80211: fix default HE tx bitrate mask in 2G band
...
In 2G band, a HE sta can only supports HT and HE, but not supports VHT.
In this case, default HE tx bitrate mask isn't filled, when we use iw to
set bitrates without any parameter.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Link: https://lore.kernel.org/r/20210609075944.51130-1-pkshih@realtek.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:02:59 +02:00
Shaokun Zhang
057e377af2
mac80211: remove the repeated declaration
...
Function 'ieee80211_sta_set_rx_nss' is declared twice, so remove the
repeated declaration.
Signed-off-by: Shaokun Zhang <zhangshaokun@hisilicon.com >
Link: https://lore.kernel.org/r/1622196424-62403-1-git-send-email-zhangshaokun@hisilicon.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:02:38 +02:00
Philipp Borgers
4e6c78bdcf
mac80211: refactor rc_no_data_or_no_ack_use_min function
...
Use newly introduced helper function ieee80211_is_tx_data to check if
frame is a data frame. Takes into account that hardware encapsulation
can be enabled for a frame and therefore no ieee80211 header is present.
Signed-off-by: Philipp Borgers <borgers@mi.fu-berlin.de >
Link: https://lore.kernel.org/r/20210519122019.92359-4-borgers@mi.fu-berlin.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:01:49 +02:00
Philipp Borgers
d333322361
mac80211: do not use low data rates for data frames with no ack flag
...
Data Frames with no ack flag set should be handled by the rate
controler. Make sure we reach the rate controler by returning early
from rate_control_send_low if the frame is a data frame with no ack
flag.
Signed-off-by: Philipp Borgers <borgers@mi.fu-berlin.de >
Link: https://lore.kernel.org/r/20210519122019.92359-3-borgers@mi.fu-berlin.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:01:41 +02:00
Philipp Borgers
cff7b5ca25
mac80211: add ieee80211_is_tx_data helper function
...
Add a helper function that checks if a frame is a data frame. Frames
with hardware encapsulation enabled are data frames.
Signed-off-by: Philipp Borgers <borgers@mi.fu-berlin.de >
Link: https://lore.kernel.org/r/20210519122019.92359-2-borgers@mi.fu-berlin.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:01:02 +02:00
Johannes Berg
4ebdce1dcb
mac80211: simplify ieee80211_add_station()
...
There's no need to do some kind of weird err and RCU dance
just use sta_info_insert() directly.
Link: https://lore.kernel.org/r/20210517230754.55abd10056c0.I6f5a3b7b23347b2cdaf64e6d5ce1d9e904059654@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:00:26 +02:00
Johannes Berg
f057d14036
mac80211: use sdata->skb_queue for TDLS
...
We need to differentiate these frames since the ones we
currently put on the skb_queue_tdls_chsw have already
been converted to ethernet format, but now that we've
got a single place to enqueue to the sdata->skb_queue
this isn't hard. Just differentiate based on protocol
and adjust the code to queue the SKBs appropriately.
Link: https://lore.kernel.org/r/20210517230754.17034990abef.I5342f2183c0d246b18d36c511eb3b6be298a6572@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:00:17 +02:00
Johannes Berg
07bd1c79c9
mac80211: refactor SKB queue processing a bit
...
This is a very long loop body, move it into its own function
instead, keeping only the kcov and free outside in the loop
body.
Link: https://lore.kernel.org/r/20210517230754.6bc6cdd68570.I28a86ebdb19601ca1965c4dc654cc49fc1064efa@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 11:00:08 +02:00
Johannes Berg
0044cc177f
mac80211: unify queueing SKB to iface
...
We have a bunch of places that open-code the same to queue
an SKB to an interface, unify that.
Link: https://lore.kernel.org/r/20210517230754.113b65febd5a.Ie0e1d58a2885e75f242cb6e06f3b9660117fef93@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 10:59:59 +02:00
Philipp Borgers
0edab4ff84
mac80211: minstrel_ht: ignore frame that was sent with noAck flag
...
QoS Data Frames that were sent with a No Ack policy should be ignored by
the minstrel statistics. There will never be an Ack for these frames so
there is no way to draw conclusions about the success of the transmission.
Signed-off-by: Philipp Borgers <borgers@mi.fu-berlin.de >
Link: https://lore.kernel.org/r/20210517120145.132814-1-borgers@mi.fu-berlin.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 10:59:44 +02:00
Dan Carpenter
5b5c9f3bd5
cfg80211: clean up variable use in cfg80211_parse_colocated_ap()
...
The "ap_info->tbtt_info_len" and "length" variables are the same value
but it is confusing how the names are mixed up. Let's use "length"
everywhere for consistency.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Link: https://lore.kernel.org/r/YJaMNzZENkYFAYQX@mwanda
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 10:59:08 +02:00
Johannes Berg
21b7805434
cfg80211: remove CFG80211_MAX_NUM_DIFFERENT_CHANNELS
...
We no longer need to put any limits here, hardware will and
mac80211-hwsim can do whatever it likes. The reason we had
this was some accounting code (still mentioned in the comment)
but that code was deleted in commit c781944b71 ("cfg80211:
Remove unused cfg80211_can_use_iftype_chan()").
Link: https://lore.kernel.org/r/20210506221159.d1d61db1d31c.Iac4da68d54b9f1fdc18a03586bbe06aeb9515425@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 10:58:56 +02:00
Yang Li
5eae270500
mac80211: Remove redundant assignment to ret
...
Variable 'ret' is set to -ENODEV but this value is never read as it
is overwritten with a new value later on, hence it is a redundant
assignment and can be removed.
Clean up the following clang-analyzer warning:
net/mac80211/debugfs_netdev.c:60:2: warning: Value stored to 'ret' is
never read [clang-analyzer-deadcode.DeadStores]
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com >
Link: https://lore.kernel.org/r/1619774483-116805-1-git-send-email-yang.lee@linux.alibaba.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 10:57:55 +02:00
Yang Li
c2a8637c05
net: wireless: wext_compat.c: Remove redundant assignment to ps
...
Variable 'ps' is set to wdev->ps but this value is never read as it is
overwritten with a new value later on, hence it is a redundant
assignment and can be removed.
Cleans up the following clang-analyzer warning:
net/wireless/wext-compat.c:1170:7: warning: Value stored to 'ps' during
its initialization is never read [clang-analyzer-deadcode.DeadStores]
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com >
Link: https://lore.kernel.org/r/1619603945-116891-1-git-send-email-yang.lee@linux.alibaba.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 10:57:29 +02:00
Gustavo A. R. Silva
e93bdd7840
wireless: wext-spy: Fix out-of-bounds warning
...
Fix the following out-of-bounds warning:
net/wireless/wext-spy.c:178:2: warning: 'memcpy' offset [25, 28] from the object at 'threshold' is out of the bounds of referenced subobject 'low' with type 'struct iw_quality' at offset 20 [-Warray-bounds]
The problem is that the original code is trying to copy data into a
couple of struct members adjacent to each other in a single call to
memcpy(). This causes a legitimate compiler warning because memcpy()
overruns the length of &threshold.low and &spydata->spy_thr_low. As
these are just a couple of struct members, fix this by using direct
assignments, instead of memcpy().
This helps with the ongoing efforts to globally enable -Warray-bounds
and get us closer to being able to tighten the FORTIFY_SOURCE routines
on memcpy().
Link: https://github.com/KSPP/linux/issues/109
Reported-by: kernel test robot <lkp@intel.com >
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org >
Reviewed-by: Kees Cook <keescook@chromium.org >
Link: https://lore.kernel.org/r/20210422200032.GA168995@embeddedor
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
2021-06-23 10:57:17 +02:00
David S. Miller
38f75922a6
Merge branch 'mptcp-C-flag-and-fixes'
...
Mat Martineau says:
====================
mptcp: Connection-time 'C' flag and two fixes
Here are six more patches from the MPTCP tree.
Most of them add support for the 'C' flag in the MPTCP connection-time
option headers. This flag affects how the initial address and port are
treated by each peer. Normally one peer may send MP_JOIN requests to the
remote address and port that were used when initiating the MPTCP
connection. The 'C' bit indicates that MP_JOINs should only be sent to
remote addresses that have been advertised with ADD_ADDR.
The other two patches are unrelated improvements.
Patches 1-4: Add the 'C' flag feature, a sysctl to optionally enable it,
and a selftest.
Patch 5: Adjust rp_filter settings in a selftest.
Patch 6: Improve rbuf cleanup for MPTCP sockets.
====================
Signed-off-by: David S. Miller <davem@davemloft.net >
2021-06-22 14:36:01 -07:00
Paolo Abeni
fde56eea01
mptcp: refine mptcp_cleanup_rbuf
...
The current cleanup rbuf tries a bit too hard to avoid acquiring
the subflow socket lock. We may end-up delaying the needed ack,
or skip acking a blocked subflow.
Address the above extending the conditions used to trigger the cleanup
to reflect more closely what TCP does and invoking tcp_cleanup_rbuf()
on all the active subflows.
Note that we can't replicate the exact tests implemented in
tcp_cleanup_rbuf(), as MPTCP lacks some of the required info - e.g.
ping-pong mode.
Signed-off-by: Paolo Abeni <pabeni@redhat.com >
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2021-06-22 14:36:01 -07:00
Yonglong Li
d8e336f77e
selftests: mptcp: turn rp_filter off on each NIC
...
To turn rp_filter off we should:
echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter
and
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
before NIC created.
Co-developed-by: Paolo Abeni <pabeni@redhat.com >
Signed-off-by: Paolo Abeni <pabeni@redhat.com >
Signed-off-by: Yonglong Li <liyonglong@chinatelecom.cn >
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2021-06-22 14:36:01 -07:00
Geliang Tang
0cddb4a6f4
selftests: mptcp: add deny_join_id0 testcases
...
This patch added a new argument '-d' for mptcp_join.sh script, to invoke
the testcases for the MP_CAPABLE 'C' flag.
Acked-by: Paolo Abeni <pabeni@redhat.com >
Signed-off-by: Geliang Tang <geliangtang@gmail.com >
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2021-06-22 14:36:01 -07:00
Geliang Tang
df377be387
mptcp: add deny_join_id0 in mptcp_options_received
...
This patch added a new flag named deny_join_id0 in struct
mptcp_options_received. Set it when MP_CAPABLE with the flag
MPTCP_CAP_DENYJOIN_ID0 is received.
Also add a new flag remote_deny_join_id0 in struct mptcp_pm_data. When the
flag deny_join_id0 is set, set this remote_deny_join_id0 flag.
In mptcp_pm_create_subflow_or_signal_addr, if the remote_deny_join_id0 flag
is set, and the remote address id is zero, stop this connection.
Suggested-by: Florian Westphal <fw@strlen.de >
Acked-by: Paolo Abeni <pabeni@redhat.com >
Signed-off-by: Geliang Tang <geliangtang@gmail.com >
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2021-06-22 14:36:01 -07:00
Geliang Tang
bab6b88e05
mptcp: add allow_join_id0 in mptcp_out_options
...
This patch defined a new flag MPTCP_CAP_DENY_JOIN_ID0 for the third bit,
labeled "C" of the MP_CAPABLE option.
Add a new flag allow_join_id0 in struct mptcp_out_options. If this flag is
set, send out the MP_CAPABLE option with the flag MPTCP_CAP_DENY_JOIN_ID0.
Acked-by: Paolo Abeni <pabeni@redhat.com >
Signed-off-by: Geliang Tang <geliangtang@gmail.com >
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2021-06-22 14:36:01 -07:00
Geliang Tang
d2f77960e5
mptcp: add sysctl allow_join_initial_addr_port
...
This patch added a new sysctl, named allow_join_initial_addr_port, to
control whether allow peers to send join requests to the IP address and
port number used by the initial subflow.
Suggested-by: Florian Westphal <fw@strlen.de >
Acked-by: Paolo Abeni <pabeni@redhat.com >
Signed-off-by: Geliang Tang <geliangtang@gmail.com >
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2021-06-22 14:36:01 -07:00