Forwarded: [PATCH] INFO: task hung in ieee80211_register_hw (8)

From: syzbot

Date: Wed Sep 16 2026 - 21:44:26 EST


For archival purposes, forwarding an incoming command email to
linux-kernel@xxxxxxxxxxxxxxx.

***

Subject: [PATCH] INFO: task hung in ieee80211_register_hw (8)
Author: jchuang26@xxxxxxxxxxxxxx

#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git main

Reported-by: syzbot+c92af8613ad38696ff09@xxxxxxxxxxxxxxxxxxxxxxxxx

diff --git a/drivers/net/wireless/virtual/mac80211_hwsim_main.c b/drivers/net/wireless/virtual/mac80211_hwsim_main.c
index 02b6d81cc..cef2f4b08 100644
--- a/drivers/net/wireless/virtual/mac80211_hwsim_main.c
+++ b/drivers/net/wireless/virtual/mac80211_hwsim_main.c
@@ -7150,6 +7150,13 @@ static struct genl_family hwsim_genl_family __ro_after_init = {
.maxattr = HWSIM_ATTR_MAX,
.policy = hwsim_genl_policy,
.netnsok = true,
+ /*
+ * Avoid holding the global genl mutex while creating a radio,
+ * since that takes RTNL in ieee80211_register_hw(). A task
+ * holding RTNL and waiting for the genl mutex would otherwise
+ * deadlock with us.
+ */
+ .parallel_ops = true,
.module = THIS_MODULE,
.small_ops = hwsim_ops,
.n_small_ops = ARRAY_SIZE(hwsim_ops),