Messages in this thread | | | Date | Fri, 26 Jun 2020 15:54:57 +0100 | From | Daniel Thompson <> | Subject | [GIT PULL] kgdb changes for v5.8-rc3 |
| |
Hi Linus
The following changes since commit 48778464bb7d346b47157d21ffde2af6b2d39110:
Linux 5.8-rc2 (2020-06-21 15:45:29 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux.git/ tags/kgdb-5.8-rc3
for you to fetch changes up to 440ab9e10e2e6e5fd677473ee6f9e3af0f6904d6:
kgdb: Avoid suspicious RCU usage warning (2020-06-26 15:41:40 +0100)
---------------------------------------------------------------- kgdb patches for 5.8-rc3
The main change here is a fix for a number of unsafe interactions between kdb and the console system. The fixes are specific to kdb (pure kgdb debugging does not use the console system at all). On systems with an NMI then kdb, if it is enabled, must get messages to the user despite potentially running from some "difficult" calling contexts. These fixes avoid using the console system where we have been provided an alternative (safer) way to interact with the user and, if using the console system in unavoidable, use oops_in_progress for deadlock avoidance. These fixes also ensure kdb honours the console enable flag.
Also included is a fix that wraps kgdb trap handling in an RCU read lock to avoids triggering diagnostic warnings. This is a wide lock scope but this is OK because kgdb is a stop-the-world debugger. When we stop the world we put all the CPUs into holding pens and this inhibits RCU update anyway.
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---------------------------------------------------------------- Douglas Anderson (1): kgdb: Avoid suspicious RCU usage warning
Sumit Garg (4): kdb: Re-factor kdb_printf() message write code kdb: Check status of console prior to invoking handlers kdb: Make kdb_printf() console handling more robust kdb: Switch to use safer dbg_io_ops over console APIs
drivers/tty/serial/kgdb_nmi.c | 2 +- drivers/tty/serial/kgdboc.c | 32 +++++++++---------- drivers/usb/early/ehci-dbgp.c | 3 +- include/linux/kgdb.h | 5 ++- kernel/debug/debug_core.c | 4 +++ kernel/debug/kdb/kdb_io.c | 72 ++++++++++++++++++++++++++----------------- 6 files changed, 68 insertions(+), 50 deletions(-)
| |