drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally
authorTakashi Iwai <tiwai@suse.de>
Fri, 23 Oct 2020 07:46:55 +0000 (09:46 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 26 Oct 2020 21:19:15 +0000 (17:19 -0400)
ASSERT_CRITICAL() invokes kgdb_breakpoint() whenever either
CONFIG_KGDB or CONFIG_HAVE_KGDB is set.  This, however, may lead to a
kernel panic when no kdb stuff is attached, since the
kgdb_breakpoint() call issues INT3.  It's nothing but a surprise for
normal end-users.

For avoiding the pitfall, make the kgdb_breakpoint() call only when
CONFIG_DEBUG_KERNEL_DC is set.

https://bugzilla.opensuse.org/show_bug.cgi?id=1177973
Cc: <stable@vger.kernel.org>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/os_types.h

index 330acaaed79aef8a9264bf6a87742fff8fe41faa..32758b245754ba61c0fcc98184fa5f263fe51f97 100644 (file)
@@ -94,7 +94,7 @@
  * general debug capabilities
  *
  */
-#if defined(CONFIG_HAVE_KGDB) || defined(CONFIG_KGDB)
+#if defined(CONFIG_DEBUG_KERNEL_DC) && (defined(CONFIG_HAVE_KGDB) || defined(CONFIG_KGDB))
 #define ASSERT_CRITICAL(expr) do {     \
        if (WARN_ON(!(expr))) { \
                kgdb_breakpoint(); \