diff options
| author | Edward Adam Davis <eadavis@qq.com> | 2025-04-23 17:15:53 +0300 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2025-04-25 12:25:22 +0300 |
| commit | c575f5374be7a5c4be4acb9fe6be3a4669d94674 (patch) | |
| tree | fde69f905caa7a90546c9f76a29778acdc200134 /drivers/net/wireless/virtual | |
| parent | 9ceba431a31544f4f8feb0df58287a58644dc5f5 (diff) | |
| download | linux-c575f5374be7a5c4be4acb9fe6be3a4669d94674.tar.xz | |
wifi: mac80211_hwsim: Prevent tsf from setting if beacon is disabled
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>
Diffstat (limited to 'drivers/net/wireless/virtual')
| -rw-r--r-- | drivers/net/wireless/virtual/mac80211_hwsim.c | 5 |
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 74d037cfccca..f6add19d1da1 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) { |
