On Fri, Oct 04, 2019 at 10:29:17AM +0100, Russell King - ARM Linux admin wrote: > On Fri, Oct 04, 2019 at 11:11:42AM +0200, Petr Mladek wrote: > > On Thu 2019-10-03 21:56:34, Will Deacon wrote: > > > I've deliberately left the irq part alone, since I think > > > having magic sysrq work via the keyboard interrupt is desirable from the > > > panic loop. > > > > I agree that we should keep sysrq working. > > > > One pity thing is that led_panic_blink() in > > leds/drivers/trigger/ledtrig-panic.c uses workqueues: > > > > + led_panic_blink() > > + led_trigger_event() > > + led_set_brightness() > > + schedule_work() > > > > It means that it depends on the scheduler. I guess that it > > does not work in many panic situations. But this patch > > will always block it. > > > > I agree that it is strange that userspace still works at > > this stage. But does it cause any real problems? > > Yes, there are watchdog drivers that continue to pat their watchdog > after the kernel has panic'd. It makes watchdogs useless (which is > exactly how this problem was discovered.) Indeed, and I think the LED blinking is already unreliable if the brightness operation needs to sleep. For example, if the kernel isn't preemptible or the work gets queued up on a different CPU which is sitting in panic_smp_self_stop(). Will