summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2026-04-13 22:26:10 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2026-04-13 22:26:10 +0000
commit5927bf24daca1f63e6a7100df68c7343f48258aa (patch)
treefa77fa091cc6b11d07089479307d6c35cce786b3
parent316122010afd2d7ff718b59c4821963df8a2c9ee (diff)
-rw-r--r--agg-rx.c2
-rw-r--r--mt7615/mac.c2
-rw-r--r--mt7615/mt7615.h1
-rw-r--r--mt76_connac_mac.c1
-rw-r--r--mt7925/mac.c1
-rw-r--r--mt7996/mac.c1
-rw-r--r--mt7996/main.c2
-rw-r--r--mt7996/mcu.c2
-rw-r--r--scan.c4
9 files changed, 9 insertions, 7 deletions
diff --git a/agg-rx.c b/agg-rx.c
index 3d34caf7e4f7..bf1babac3895 100644
--- a/agg-rx.c
+++ b/agg-rx.c
@@ -248,7 +248,7 @@ int mt76_rx_aggr_start(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno,
mt76_rx_aggr_stop(dev, wcid, tidno);
- tid = kzalloc(struct_size(tid, reorder_buf, size), GFP_KERNEL);
+ tid = kzalloc_flex(*tid, reorder_buf, size);
if (!tid)
return -ENOMEM;
diff --git a/mt7615/mac.c b/mt7615/mac.c
index bd56cdb022a2..45992fdcec60 100644
--- a/mt7615/mac.c
+++ b/mt7615/mac.c
@@ -1055,7 +1055,7 @@ mt7615_mac_queue_rate_update(struct mt7615_phy *phy, struct mt7615_sta *sta,
if (work_pending(&dev->rate_work))
return -EBUSY;
- wrd = kzalloc(sizeof(*wrd), GFP_ATOMIC);
+ wrd = kzalloc_obj(*wrd, GFP_ATOMIC);
if (!wrd)
return -ENOMEM;
diff --git a/mt7615/mt7615.h b/mt7615/mt7615.h
index e16865dd8e52..c93fd245c90f 100644
--- a/mt7615/mt7615.h
+++ b/mt7615/mt7615.h
@@ -5,6 +5,7 @@
#define __MT7615_H
#include <linux/completion.h>
+#include <linux/hex.h>
#include <linux/interrupt.h>
#include <linux/ktime.h>
#include <linux/regmap.h>
diff --git a/mt76_connac_mac.c b/mt76_connac_mac.c
index 3304b5971be0..b41ca1410da9 100644
--- a/mt76_connac_mac.c
+++ b/mt76_connac_mac.c
@@ -413,6 +413,7 @@ mt76_connac2_mac_write_txwi_80211(struct mt76_dev *dev, __le32 *txwi,
u32 val;
if (ieee80211_is_action(fc) &&
+ skb->len >= IEEE80211_MIN_ACTION_SIZE + 1 + 1 + 2 &&
mgmt->u.action.category == WLAN_CATEGORY_BACK &&
mgmt->u.action.u.addba_req.action_code == WLAN_ACTION_ADDBA_REQ) {
u16 capab = le16_to_cpu(mgmt->u.action.u.addba_req.capab);
diff --git a/mt7925/mac.c b/mt7925/mac.c
index 871b67101976..0d9435900423 100644
--- a/mt7925/mac.c
+++ b/mt7925/mac.c
@@ -668,6 +668,7 @@ mt7925_mac_write_txwi_80211(struct mt76_dev *dev, __le32 *txwi,
u32 val;
if (ieee80211_is_action(fc) &&
+ skb->len >= IEEE80211_MIN_ACTION_SIZE + 1 &&
mgmt->u.action.category == WLAN_CATEGORY_BACK &&
mgmt->u.action.u.addba_req.action_code == WLAN_ACTION_ADDBA_REQ)
tid = MT_TX_ADDBA;
diff --git a/mt7996/mac.c b/mt7996/mac.c
index 2560e2f46e89..d4f3ee943b47 100644
--- a/mt7996/mac.c
+++ b/mt7996/mac.c
@@ -800,6 +800,7 @@ mt7996_mac_write_txwi_80211(struct mt7996_dev *dev, __le32 *txwi,
u32 val;
if (ieee80211_is_action(fc) &&
+ skb->len >= IEEE80211_MIN_ACTION_SIZE + 1 &&
mgmt->u.action.category == WLAN_CATEGORY_BACK &&
mgmt->u.action.u.addba_req.action_code == WLAN_ACTION_ADDBA_REQ) {
if (is_mt7990(&dev->mt76))
diff --git a/mt7996/main.c b/mt7996/main.c
index beed795edb24..f16135f0b7f9 100644
--- a/mt7996/main.c
+++ b/mt7996/main.c
@@ -966,7 +966,7 @@ mt7996_mac_sta_init_link(struct mt7996_dev *dev,
mtxq->wcid = idx;
}
} else {
- msta_link = kzalloc(sizeof(*msta_link), GFP_KERNEL);
+ msta_link = kzalloc_obj(*msta_link);
if (!msta_link)
return -ENOMEM;
diff --git a/mt7996/mcu.c b/mt7996/mcu.c
index 14a88ef79b6c..c0c042de477b 100644
--- a/mt7996/mcu.c
+++ b/mt7996/mcu.c
@@ -726,7 +726,7 @@ mt7996_mcu_wed_rro_event(struct mt7996_dev *dev, struct sk_buff *skb)
struct mt7996_wed_rro_session_id *session;
e = (void *)skb->data;
- session = kzalloc(sizeof(*session), GFP_ATOMIC);
+ session = kzalloc_obj(*session, GFP_ATOMIC);
if (!session)
break;
diff --git a/scan.c b/scan.c
index ff9176cdee3d..63b0447e55c1 100644
--- a/scan.c
+++ b/scan.c
@@ -63,10 +63,8 @@ mt76_scan_send_probe(struct mt76_dev *dev, struct cfg80211_ssid *ssid)
rcu_read_lock();
- if (!ieee80211_tx_prepare_skb(phy->hw, vif, skb, band, NULL)) {
- ieee80211_free_txskb(phy->hw, skb);
+ if (!ieee80211_tx_prepare_skb(phy->hw, vif, skb, band, NULL))
goto out;
- }
info = IEEE80211_SKB_CB(skb);
if (req->no_cck)