• Douglas Anderson's avatar
    kgdb: Flush console before entering kgdb on panic · dd712d3d
    Douglas Anderson authored
    When entering kdb/kgdb on a kernel panic, it was be observed that the
    console isn't flushed before the `kdb` prompt came up. Specifically,
    when using the buddy lockup detector on arm64 and running:
      echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
    
    I could see:
      [   26.161099] lkdtm: Performing direct entry HARDLOCKUP
      [   32.499881] watchdog: Watchdog detected hard LOCKUP on cpu 6
      [   32.552865] Sending NMI from CPU 5 to CPUs 6:
      [   32.557359] NMI backtrace for cpu 6
      ... [backtrace for cpu 6] ...
      [   32.558353] NMI backtrace for cpu 5
      ... [backtrace for cpu 5] ...
      [   32.867471] Sending NMI from CPU 5 to CPUs 0-4,7:
      [   32.872321] NMI backtrace forP cpuANC: Hard LOCKUP
    
      Entering kdb (current=..., pid 0) on processor 5 due to Keyboard Entry
      [5]kdb>
    
    As you can see, backtraces for the other CPUs start printing and get
    interleaved with the kdb PANIC print.
    
    Let's replicate the commands to flush the console in the kdb panic
    entry point to avoid this.
    Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
    Link: https://lore.kernel.org/r/20230822131945.1.I5b460ae8f954e4c4f628a373d6e74713c06dd26f@changeidSigned-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
    dd712d3d
debug_core.c 29.2 KB