On Wed, Apr 24, 2024 at 03:21:41PM +0100, Daniel Thompson wrote: > Currently, when kdb is compiled with keyboard support, then we will use > schedule_work() to provoke reset of the keyboard status. Unfortunately > schedule_work() gets called from the kgdboc post-debug-exception > handler. That risks deadlock since schedule_work() is not NMI-safe and, > even on platforms where the NMI is not directly used for debugging, the > debug trap can have NMI-like behaviour depending on where breakpoints > are placed. > > Fix this by using the irq work system, which is NMI-safe, to defer the > call to schedule_work() to a point when it is safe to call. > > Reported-by: Liuye <liu.yeC@xxxxxxx> > Closes: https://lore.kernel.org/all/20240228025602.3087748-1-liu.yeC@xxxxxxx/ > Cc: stable@xxxxxxxxxxxxxxx > Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> > Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> > --- > @Greg: I'm assuming this could/should go via your tree but feel free > to share an ack if you want me to hoover it up instead. Hoover away! Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>