On Tue, 2019-02-05 at 15:37 +0100, Johannes Berg wrote: > From: Johannes Berg <johannes.berg@xxxxxxxxx> > > When an rhashtabl walk is done from irq/bh context, we rightfully > get a lockdep complaint saying that we could get a (soft-)IRQ in > the middle of a rehash. This happened e.g. in mac80211 as it does > a walk in soft-irq context. > > Fix this by using irq-safe locking here. We don't need _irqsave() > as we know this will be called only in process context from the > workqueue. We could get away with _bh() but that seems a bit less > generic, though I'm not sure anyone would want to do a walk from > a real IRQ handler. Please drop this, it doesn't make sense. I'll resend with all the spinlock usage changed to either _bh or _irqsave(), since it makes no sense to enforce any kind of outside BH/irq disabling for purposes of the inner lock. johannes