linux-brain/kernel/debug/kdb
Sumit Garg c37821e061 kdb: Make memory allocations more robust
commit 93f7a6d818deef69d0ba652d46bae6fbabbf365c upstream.

Currently kdb uses in_interrupt() to determine whether its library
code has been called from the kgdb trap handler or from a saner calling
context such as driver init. This approach is broken because
in_interrupt() alone isn't able to determine kgdb trap handler entry from
normal task context. This can happen during normal use of basic features
such as breakpoints and can also be trivially reproduced using:
echo g > /proc/sysrq-trigger

We can improve this by adding check for in_dbg_master() instead which
explicitly determines if we are running in debugger context.

Cc: stable@vger.kernel.org
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Link: https://lore.kernel.org/r/1611313556-4004-1-git-send-email-sumit.garg@linaro.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-04 10:26:10 +01:00
..
.gitignore kdb: core for kgdb back end (1 of 2) 2010-05-20 21:04:20 -05:00
Makefile kdb: Get rid of broken attempt to print CCVERSION in kdb summary 2019-05-12 09:50:43 +01:00
kdb_bp.c kdb: bl: don't use tab character in output 2018-01-25 08:41:22 -06:00
kdb_bt.c kdb: Don't back trace on a cpu that didn't round up 2018-12-30 08:31:23 +00:00
kdb_cmds kdb: cleanup unused variables missed in the original kdb merge 2011-08-01 13:23:58 -05:00
kdb_debugger.c kdb: Don't back trace on a cpu that didn't round up 2018-12-30 08:31:23 +00:00
kdb_io.c kdb: Fix pager search for multi-line strings 2020-10-29 09:57:51 +01:00
kdb_keyboard.c kdb: kdb_keyboard: mark expected switch fall-throughs 2018-11-13 20:38:50 +00:00
kdb_main.c kdb: Replace strncmp with str_has_prefix 2019-09-03 11:19:31 +01:00
kdb_private.h kdb: Make memory allocations more robust 2021-03-04 10:26:10 +01:00
kdb_support.c kdb: kdb_support: replace strcpy() by strscpy() 2019-05-02 13:42:01 +01:00