summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Adam Davis <eadavis@qq.com>2025-04-23 22:15:53 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-06-27 11:11:33 +0100
commit606b577368a2b8239942bf579d100c8db0f0119d (patch)
tree14fabf59a86a0ab4237c23126e7b842724e1f9d5
parentf92312f6dd0700ab1ceee175eff7e33c73d450fd (diff)
wifi: mac80211_hwsim: Prevent tsf from setting if beacon is disabled
[ Upstream commit c575f5374be7a5c4be4acb9fe6be3a4669d94674 ] Setting tsf is meaningless if beacon is disabled, so check that beacon is enabled before setting tsf. Reported-by: syzbot+064815c6cd721082a52a@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=064815c6cd721082a52a Tested-by: syzbot+064815c6cd721082a52a@syzkaller.appspotmail.com Signed-off-by: Edward Adam Davis <eadavis@qq.com> Link: https://patch.msgid.link/tencent_3609AC2EFAAED68CA5A7E3C6D212D1C67806@qq.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/net/wireless/virtual/mac80211_hwsim.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/virtual/mac80211_hwsim.c b/drivers/net/wireless/virtual/mac80211_hwsim.c
index 4a2b7c9921bc..6fcc21f596ea 100644
--- a/drivers/net/wireless/virtual/mac80211_hwsim.c
+++ b/drivers/net/wireless/virtual/mac80211_hwsim.c
@@ -1229,6 +1229,11 @@ static void mac80211_hwsim_set_tsf(struct ieee80211_hw *hw,
/* MLD not supported here */
u32 bcn_int = data->link_data[0].beacon_int;
u64 delta = abs(tsf - now);
+ struct ieee80211_bss_conf *conf;
+
+ conf = link_conf_dereference_protected(vif, data->link_data[0].link_id);
+ if (conf && !conf->enable_beacon)
+ return;
/* adjust after beaconing with new timestamp at old TBTT */
if (tsf > now) {