On Tue, 2022-03-22 at 14:31 -0700, Jeff Johnson wrote: > On 3/21/2022 1:07 PM, Johannes Berg wrote: > [..snip..] > > > > I'm not an networking expert. So my main question is if I'm allowed to take > > > the RTNL lock inside the nl80211_vendor_cmd callbacks? > > > > Evidently, you're not. It's interesting though, it used to be that we > > called these with the RTNL held, now we don't, and the driver you're > > using somehow "got fixed" to take it, but whoever fixed it didn't take > > into account that this is not possible? > > On this point I just want to remind that prior to the locking change > that a driver would specify on a per-vendor command basis whether or not > it wanted the rtnl_lock to be held via NL80211_FLAG_NEED_RTNL. No, that flag isn't on a per-vendor-command basis. It was set for all the vendor commands though, in nl80211, so the driver wouldn't have had the rtnl_lock()/unlock() at all. johannes