[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_DEB361637AE96D43A8C447D77D577626C705@qq.com>
Date: Tue, 18 Mar 2025 10:03:10 +0800
From: Edward Adam Davis <eadavis@...com>
To: syzbot+aaf0488c83d1d5f4f029@...kaller.appspotmail.com
Cc: linux-kernel@...r.kernel.org,
syzkaller-bugs@...glegroups.com
Subject: Re: [syzbot] [wireless?] INFO: trying to register non-static key in cfg80211_dev_free
#syz test
diff --git a/net/wireless/core.c b/net/wireless/core.c
index 828e29872633..df3ea9ee3ee9 100644
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
@@ -1193,10 +1193,12 @@ void cfg80211_dev_free(struct cfg80211_registered_device *rdev)
struct cfg80211_beacon_registration *reg, *treg;
unsigned long flags;
- spin_lock_irqsave(&rdev->wiphy_work_lock, flags);
- WARN_ON(!list_empty(&rdev->wiphy_work_list));
- spin_unlock_irqrestore(&rdev->wiphy_work_lock, flags);
- cancel_work_sync(&rdev->wiphy_work);
+ if (rdev->wiphy.rfkill) {
+ spin_lock_irqsave(&rdev->wiphy_work_lock, flags);
+ WARN_ON(!list_empty(&rdev->wiphy_work_list));
+ spin_unlock_irqrestore(&rdev->wiphy_work_lock, flags);
+ cancel_work_sync(&rdev->wiphy_work);
+ }
rfkill_destroy(rdev->wiphy.rfkill);
list_for_each_entry_safe(reg, treg, &rdev->beacon_registrations, list) {
Powered by blists - more mailing lists