Couple of stragglers:

- mac80211: fix syzbot/ubsan in scan counted-by
  - mt76: fix NAPI handling on driver remove
  - mt67: fix multicast/ipv6 receive
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEpeA8sTs3M8SN2hR410qiO8sPaAAFAmgl2xIACgkQ10qiO8sP
 aACj5g/+Lz4v2yTuBSX20yp99mjWO2uGuUn5zBf8dUlsoq6s8/OvqBPBqv/ryA5n
 3RCeTY+JzZHgBbxQ9h9eOwXPA7LUlJ1Lt9Uv+xokFTqO7Yxbu0d1Aqum9Xb+3HP4
 Sxf0Ib8tc4BcKsXAZIDF9PwaaY8yFqjM2oH3Z7cEUZjJgniao+Zl2Vr5naYcxX64
 OLv3ebtdp8sR0KcRW9upp6pXJjTJj1j0Th+s51aVlkhs5e0vb+z3qB8y3w+kEw2q
 d0VVI5z9may7WGwZ3IHRXRN8/XfT59L/UAW/bf82IKRIxe6gCohaIcRCif8LVJ9P
 jegEhz5e4GFDy2Hwrxs4BAJEOx7UluluL91Wd6Z1wYp8vUyoRVZQGLBQMH25FAh9
 Pj662XTaXdkirFJiP8FhB2D6S9Zy36d9EEDyoN4fbWrU3IJSWhAw5akLK1UdyIAa
 7CtnE7TyG4bBmzwwBdVwHKdoXskWKnb4XpEkCMK9GGl+d2e0hhwpBJmpuBgiGxcu
 k5s7MSvNIdej2MH2iEwGPQGdzkXrt4jLjSk9BGSuagS6794qcJGnneWR9/ZvhZU1
 qIiyJA9RQJj0tDWUHPo7PSKpPFqVyKDgS9RKzWblCgD0c6JvGrbdSF+CQLhojs9X
 jSjrh584D/oEg+mbEbbDCaTily4zBSxkBbBHJFJn07tUcEs5ZZU=
 =DZLy
 -----END PGP SIGNATURE-----

Merge tag 'wireless-2025-05-15' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless

Johannes Berg says:

====================
Couple of stragglers:
 - mac80211: fix syzbot/ubsan in scan counted-by
 - mt76: fix NAPI handling on driver remove
 - mt67: fix multicast/ipv6 receive

* tag 'wireless-2025-05-15' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless:
  wifi: mac80211: Set n_channels after allocating struct cfg80211_scan_request
  wifi: mt76: mt7925: fix missing hdr_trans_tlv command for broadcast wtbl
  wifi: mt76: disable napi on driver removal
====================

Link: https://patch.msgid.link/20250515121749.61912-4-johannes@sipsolutions.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski 2025-05-15 07:19:49 -07:00
commit 3933536c87
3 changed files with 7 additions and 4 deletions

View File

@ -1011,6 +1011,7 @@ void mt76_dma_cleanup(struct mt76_dev *dev)
int i;
mt76_worker_disable(&dev->tx_worker);
napi_disable(&dev->tx_napi);
netif_napi_del(&dev->tx_napi);
for (i = 0; i < ARRAY_SIZE(dev->phys); i++) {

View File

@ -1924,14 +1924,14 @@ mt7925_mcu_sta_cmd(struct mt76_phy *phy,
mt7925_mcu_sta_mld_tlv(skb, info->vif, info->link_sta->sta);
mt7925_mcu_sta_eht_mld_tlv(skb, info->vif, info->link_sta->sta);
}
mt7925_mcu_sta_hdr_trans_tlv(skb, info->vif, info->link_sta);
}
if (!info->enable) {
mt7925_mcu_sta_remove_tlv(skb);
mt76_connac_mcu_add_tlv(skb, STA_REC_MLD_OFF,
sizeof(struct tlv));
} else {
mt7925_mcu_sta_hdr_trans_tlv(skb, info->vif, info->link_sta);
}
return mt76_mcu_skb_send_msg(dev, skb, info->cmd, true);

View File

@ -1354,10 +1354,12 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
hw->wiphy->software_iftypes |= BIT(NL80211_IFTYPE_MONITOR);
local->int_scan_req = kzalloc(sizeof(*local->int_scan_req) +
sizeof(void *) * channels, GFP_KERNEL);
local->int_scan_req = kzalloc(struct_size(local->int_scan_req,
channels, channels),
GFP_KERNEL);
if (!local->int_scan_req)
return -ENOMEM;
local->int_scan_req->n_channels = channels;
eth_broadcast_addr(local->int_scan_req->bssid);