diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-06-17 21:57:42 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-06-17 21:57:42 +0200 |
commit | 93d17c1c8c1cc987aad378d5266d99e46efca43c (patch) | |
tree | a8cffc099e31bbdc254a492df2a3ff18445299de /kernel/reboot.c | |
parent | Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm6... (diff) | |
parent | Merge branch 'rework/kthreads' into for-linus (diff) | |
download | linux-93d17c1c8c1cc987aad378d5266d99e46efca43c.tar.xz linux-93d17c1c8c1cc987aad378d5266d99e46efca43c.zip |
Merge tag 'printk-for-5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux
Pull printk fixes from Petr Mladek:
"Make the global console_sem available for CPU that is handling panic()
or shutdown.
This is an old problem when an existing console lock owner might block
console output, but it became more visible with the kthreads"
* tag 'printk-for-5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
printk: Wait for the global console lock when the system is going down
printk: Block console kthreads when direct printing will be required
Diffstat (limited to 'kernel/reboot.c')
-rw-r--r-- | kernel/reboot.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/reboot.c b/kernel/reboot.c index b5a71d1ff603..80564ffafabf 100644 --- a/kernel/reboot.c +++ b/kernel/reboot.c @@ -82,6 +82,7 @@ void kernel_restart_prepare(char *cmd) { blocking_notifier_call_chain(&reboot_notifier_list, SYS_RESTART, cmd); system_state = SYSTEM_RESTART; + try_block_console_kthreads(10000); usermodehelper_disable(); device_shutdown(); } @@ -270,6 +271,7 @@ static void kernel_shutdown_prepare(enum system_states state) blocking_notifier_call_chain(&reboot_notifier_list, (state == SYSTEM_HALT) ? SYS_HALT : SYS_POWER_OFF, NULL); system_state = state; + try_block_console_kthreads(10000); usermodehelper_disable(); device_shutdown(); } |