[PATCH v3 0/4] kdb: Improve console handling

From: Sumit Garg
Date: Wed May 27 2020 - 02:26:36 EST

This patch-set is aimed to improve console handling especially when kdb
operates in NMI context.

Brief description of enhancements:
- Add status check for console prior to invoking corresponding handler.
- Fixup to avoid possible deadlock in NMI context due to usage of locks
in the console handlers.
- Prefer usage of polling I/O driver mode (lockless APIs) over invocation
of console handlers.

Changes in v3:
- Split patch to have separate patch for console status check.
- New patch to re-factor kdb message emit code.
- New patch to prefer polling I/O over console mode.
- Add code comments to describe usage of oops_in_progress.

Changes in v2:
- Use oops_in_progress directly instead of bust_spinlocks().

Sumit Garg (4):
kdb: Re-factor kdb_printf() message write code
kdb: Check status of console prior to invoking handlers
kdb: Make kdb_printf robust to run in NMI context
kdb: Switch kdb_msg_write() to use safer polling I/O

drivers/tty/serial/kgdboc.c | 17 ++++-----
include/linux/kgdb.h | 2 +
kernel/debug/kdb/kdb_io.c | 91 ++++++++++++++++++++++++++++++---------------
3 files changed, 72 insertions(+), 38 deletions(-)