I was installing FreeBSD 10-CURRENT [1] on a machine with IPMI and happened to hit the scroll lock when the syncer was running at reboot over IPMI and it generated an interrupt which caused the ukbd(4) driver to panic. Unfortunately I didn't capture any additional details, but it should be relatively easy to reproduce. 1. ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/amd64/amd64/ISO-IMAGES/10.0/FreeBSD-10.0-CURRENT-amd64-20130413-r249439-release.iso Fix: The solution would be for ukbd to properly mask interrupts when it shouldn't be servicing them at reboot/shutdown. This is tricky though because the kernel could panic at reboot and hence the driver should be functional for service via ddb in "recoverable"/"debuggable" scenarios, BUT it should be easy to call a resume hook for the driver or unmask the interrupts again in ukbd. How-To-Repeat: Hit scroll lock at reboot. This may require several tries in order to hit the magic race condition
You can also cause LOR (Giant after non-sleepable) due to any kernel printf output while mtx is held.
Created attachment 163847 [details] giant after ukbd
For bugs matching the following conditions: - Status == In Progress - Assignee == "bugs@FreeBSD.org" - Last Modified Year <= 2017 Do - Set Status to "Open"