On Tue, 2025-02-18 at 15:27 -0500, Sasha Levin wrote:
From: Johannes Berg johannes.berg@intel.com
[ Upstream commit 5b166b782d327f4b66190cc43afd3be36f2b3b7a ]
This code can be called deep in the IRQ handling, for example, and then cannot normally use kmalloc(). Have its own pre-allocated memory and use from there instead so this doesn't occur. Only in the (very rare) case of memcpy_toio() we'd still need to allocate memory.
I don't believe this patch, "um: convert irq_lock to raw spinlock" and "um: virtio_uml: use raw spinlock", are relevant to anything older than 6.12. I don't see how applying them would _hurt_, but I didn't have them before 6.12 and had no lockdep complaints about it; I believe some other internal IRQ rework caused the issues to pop up.
Never mind that we (Intel WiFi stuff) are probably the only ones ever running this virtio_uml/virt-pci with lockdep :)
johannes