Re: [PATCH V4] kdb: Fix the deadlock issue in KDB debugging.

Jiri Slaby
2024-03-22T06:54:46Z

On 21. 03. 24, 12:50, liu.yec@h3c.com wrote:
> From: LiuYe <liu.yeC@h3c.com>
>
> Currently, if CONFIG_KDB_KEYBOARD is enabled, then kgdboc will
> attempt to use schedule_work() to provoke a keyboard reset when
> transitioning out of the debugger and back to normal operation.
> This can cause deadlock because schedule_work() is not NMI-safe.
>
> The stack trace below shows an example of the problem. In this
> case the master cpu is not running from NMI but it has parked
> the slave CPUs using an NMI and the parked CPUs is holding
> spinlocks needed by schedule_work().

I am missing here an explanation (perhaps because I cannot find any docs
for irq_work) why irq_work works in this case.

And why you need to schedule another work in the irq_work and not do the
job directly.

thanks,
--
js
suse labs