panic: Mark emergency section in oops
Mark an emergency section beginning with oops_enter() until the end of oops_exit(). In this section, every printk() call will attempt to directly flush to the consoles using the EMERGENCY priority. The very end of oops_exit() performs a kmsg_dump(). This is not included in the emergency section because it is another flushing mechanism that should occur after the consoles have flushed the oops messages. Signed-off-by: John Ogness <john.ogness@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20240820063001.36405-34-john.ogness@linutronix.de Signed-off-by: Petr Mladek <pmladek@suse.com>
This commit is contained in:
parent
4833794db6
commit
4bdfa0d8e9
1 changed files with 2 additions and 0 deletions
|
@ -685,6 +685,7 @@ bool oops_may_print(void)
|
||||||
*/
|
*/
|
||||||
void oops_enter(void)
|
void oops_enter(void)
|
||||||
{
|
{
|
||||||
|
nbcon_cpu_emergency_enter();
|
||||||
tracing_off();
|
tracing_off();
|
||||||
/* can't trust the integrity of the kernel anymore: */
|
/* can't trust the integrity of the kernel anymore: */
|
||||||
debug_locks_off();
|
debug_locks_off();
|
||||||
|
@ -707,6 +708,7 @@ void oops_exit(void)
|
||||||
{
|
{
|
||||||
do_oops_enter_exit();
|
do_oops_enter_exit();
|
||||||
print_oops_end_marker();
|
print_oops_end_marker();
|
||||||
|
nbcon_cpu_emergency_exit();
|
||||||
kmsg_dump(KMSG_DUMP_OOPS);
|
kmsg_dump(KMSG_DUMP_OOPS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue