mirror of https://github.com/torvalds/linux.git
Couple of fixes:
* iwlwifi: add two missing device entries * cfg80211: fix a potential out-of-bounds access * mac80211: fix format of TID to link mapping action frames -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEpeA8sTs3M8SN2hR410qiO8sPaAAFAmgacfwACgkQ10qiO8sP aABEuw//X1RW+5zHLmH3EHW+buxDeqev9C/YStL/1+qtiQG4HSQGVrdr9Vv3PqFt 3MYqPzZEWQrRl4l8GW8ezsNvkGCoYwUBOq92Qa1v7tBrauOQH/zkh3KtgjgT9xql 0ZhIL0JXVmDmhv8WF7JqogwZDJ/wUy/QH006jbRvwhZ9VtQJpSVECr3hxy+pCP88 JNNVD4yQMr8al5zY8hdbgPneAvk/2llmz542BiQ65zoqI7TqERQlCwKFWat7kfFl 7+rTNRDUD0RAPnr5FE1VjIaQfHV7J0OnDpnH70C18mDsRSkU7E0GjHg0SZk3bPgV WH4OoxmnwQ1vR/vwLvFQ0Ly8oruet6SRJ4R4l0hcDD1Kkv4jpzQZzxojlf5EqUt8 N/oYuff0ju8Kb7ELR/i9PmVIl9bC24mDvzWeOn3xwiCRywGc2MF2MITz8iTzlMQk lPYe4cBhaSYwn6heyQiT1IpOEYzyfZE1zX83k8vIR3mO+umZOBlh6sv4NvMx5lbW f1u8W2sgONjehWFjFVp2h4fmj4UYy6N8NRHPt8gjkZkkfuto55/2+QPMFN9Jpg9H 3qqFoXg3uZUhVyNQ3V//R+A1eBbYwCzwE43D1Zf3RlEs5V3T1TUp10sxn1/9Jp46 wiMEY4LUujwKwAckLU2HyQwf3SSSGVKx8/PW76cWZhYjSTwcBLM= =Bzvu -----END PGP SIGNATURE----- Merge tag 'wireless-2025-05-06' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless Johannes Berg says: ==================== Couple of fixes: * iwlwifi: add two missing device entries * cfg80211: fix a potential out-of-bounds access * mac80211: fix format of TID to link mapping action frames * tag 'wireless-2025-05-06' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless: wifi: iwlwifi: add support for Killer on MTL wifi: mac80211: fix the type of status_code for negotiated TID to Link Mapping wifi: cfg80211: fix out-of-bounds access during multi-link element defragmentation ==================== Link: https://patch.msgid.link/20250506203506.158818-3-johannes@sipsolutions.net Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
9540984da6
|
|
@ -588,6 +588,8 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
|
|||
IWL_DEV_INFO(0x7A70, 0x1692, iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690i_name),
|
||||
IWL_DEV_INFO(0x7AF0, 0x1691, iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690s_name),
|
||||
IWL_DEV_INFO(0x7AF0, 0x1692, iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690i_name),
|
||||
IWL_DEV_INFO(0x7F70, 0x1691, iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690s_name),
|
||||
IWL_DEV_INFO(0x7F70, 0x1692, iwlax411_2ax_cfg_so_gf4_a0, iwl_ax411_killer_1690i_name),
|
||||
|
||||
IWL_DEV_INFO(0x271C, 0x0214, iwl9260_2ac_cfg, iwl9260_1_name),
|
||||
IWL_DEV_INFO(0x7E40, 0x1691, iwl_cfg_ma, iwl_ax411_killer_1690s_name),
|
||||
|
|
|
|||
|
|
@ -1526,7 +1526,7 @@ struct ieee80211_mgmt {
|
|||
struct {
|
||||
u8 action_code;
|
||||
u8 dialog_token;
|
||||
u8 status_code;
|
||||
__le16 status_code;
|
||||
u8 variable[];
|
||||
} __packed ttlm_res;
|
||||
struct {
|
||||
|
|
|
|||
|
|
@ -7675,6 +7675,7 @@ ieee80211_send_neg_ttlm_res(struct ieee80211_sub_if_data *sdata,
|
|||
int hdr_len = offsetofend(struct ieee80211_mgmt, u.action.u.ttlm_res);
|
||||
int ttlm_max_len = 2 + 1 + sizeof(struct ieee80211_ttlm_elem) + 1 +
|
||||
2 * 2 * IEEE80211_TTLM_NUM_TIDS;
|
||||
u16 status_code;
|
||||
|
||||
skb = dev_alloc_skb(local->tx_headroom + hdr_len + ttlm_max_len);
|
||||
if (!skb)
|
||||
|
|
@ -7697,19 +7698,18 @@ ieee80211_send_neg_ttlm_res(struct ieee80211_sub_if_data *sdata,
|
|||
WARN_ON(1);
|
||||
fallthrough;
|
||||
case NEG_TTLM_RES_REJECT:
|
||||
mgmt->u.action.u.ttlm_res.status_code =
|
||||
WLAN_STATUS_DENIED_TID_TO_LINK_MAPPING;
|
||||
status_code = WLAN_STATUS_DENIED_TID_TO_LINK_MAPPING;
|
||||
break;
|
||||
case NEG_TTLM_RES_ACCEPT:
|
||||
mgmt->u.action.u.ttlm_res.status_code = WLAN_STATUS_SUCCESS;
|
||||
status_code = WLAN_STATUS_SUCCESS;
|
||||
break;
|
||||
case NEG_TTLM_RES_SUGGEST_PREFERRED:
|
||||
mgmt->u.action.u.ttlm_res.status_code =
|
||||
WLAN_STATUS_PREF_TID_TO_LINK_MAPPING_SUGGESTED;
|
||||
status_code = WLAN_STATUS_PREF_TID_TO_LINK_MAPPING_SUGGESTED;
|
||||
ieee80211_neg_ttlm_add_suggested_map(skb, neg_ttlm);
|
||||
break;
|
||||
}
|
||||
|
||||
mgmt->u.action.u.ttlm_res.status_code = cpu_to_le16(status_code);
|
||||
ieee80211_tx_skb(sdata, skb);
|
||||
}
|
||||
|
||||
|
|
@ -7875,7 +7875,7 @@ void ieee80211_process_neg_ttlm_res(struct ieee80211_sub_if_data *sdata,
|
|||
* This can be better implemented in the future, to handle request
|
||||
* rejections.
|
||||
*/
|
||||
if (mgmt->u.action.u.ttlm_res.status_code != WLAN_STATUS_SUCCESS)
|
||||
if (le16_to_cpu(mgmt->u.action.u.ttlm_res.status_code) != WLAN_STATUS_SUCCESS)
|
||||
__ieee80211_disconnect(sdata);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2681,7 +2681,7 @@ cfg80211_defrag_mle(const struct element *mle, const u8 *ie, size_t ielen,
|
|||
/* Required length for first defragmentation */
|
||||
buf_len = mle->datalen - 1;
|
||||
for_each_element(elem, mle->data + mle->datalen,
|
||||
ielen - sizeof(*mle) + mle->datalen) {
|
||||
ie + ielen - mle->data - mle->datalen) {
|
||||
if (elem->id != WLAN_EID_FRAGMENT)
|
||||
break;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue