A second printk fix flushes consoles on emergency restart
Petr Mladek's patch flushes NBCON consoles during emergency_restart. Ogness reviewed it. The same 7.3 hotfix also delays kthread startup at boot, which is a different fix.
The short version
The patch enters NBCON emergency mode during emergency_restart and tries to flush consoles there, because that path was not stopping the printer kthreads the way a normal shutdown does. Ogness reviewed it. Linus merged it in printk-for-7.3-hotfix beside the separate patch that delays kthread startup at boot.
The restart path that skipped the orderly stop
On the Linux kernel mailing list, Petr Mladek posted a patch to switch NBCON consoles into emergency mode inside emergency_restart. His explanation says a normal power-off stops the NBCON printer kthreads through a syscore shutdown callback. emergency_restart does not. It can be reached from paths that are not a panic, and he names sysrq, a debugger reboot, and some watchdogs as examples. The fix he describes enters the emergency, atomic, mode and tries to flush the consoles there, using a trigger flush rather than pr_flush, which he says is not safe in that context. John Ogness's review on the list is a reviewed-by. FreshBSD shows Linus Torvalds merging tag printk-for-7.3-hotfix on October 17, 2026, and the tag message lists this restart flush as its own bullet, next to the boot-time kthread postpone. The software desk isSoftware.
Two bullets, two bugs
The boot hang is a machine that never finishes SMP setup because console threads started too early. The restart gap is a machine that is already going down, on a path that skipped the orderly printer shutdown, so the last messages may not hit the console. Same subsystem, same merge tag, different predicates. A reader who only needed the boot story is on the other page. This page exists so the second bullet does not disappear into the first. The boot-hang brief isthe kthread postpone.
What the review adds
Ogness's mailed review does not rewrite the approach. It accepts it. A reviewed-by from the engineer whose postpone patch sits in the same tag is evidence the restart change was seen by the printk maintainers before Linus merged the tag. It is not a second design. The paper is Asked directly, Who wrote the emergency-restart patch? The LKML copy is from Petr Mladek, dated around October 14, 2026. John Ogness replied with a reviewed-by on October 13 in the mirror this brief used. FreshBSD shows the commit inside Linus's October 17 merge of printk-for-7.3-hotfix.Futureweb.
Atomic context is the constraint
Mladek's note is specific about the flush helper. He says the trigger variant has to be used because pr_flush is unsafe when the caller is atomic. That sentence is why the patch looks the way it does. This brief will not print the function body or a sequence a reader could type. The public fact is the constraint and the path. A version number, and what a project has to finish before a default is real, is a different software question.what a version number has to mean.
Who can enter the path
The message lists callers that are not panics. A watchdog reboot and a debugger reboot are operator-adjacent. A sysrq reboot is operator-adjacent. The patch is about those entries sharing a function that previously skipped the console flush. It is not a claim that every reboot in the world lost its log. Hardware is Asked directly, What path was missing a flush? Mladek's message says a normal shutdown stops NBCON kthreads through a syscore callback. emergency_restart was not doing that. The patch enters emergency mode and flushes there. He names non-panic callers such as a sysrq path, a debugger reboot, and some watchdogs, as examples of who can land in that function.Hardware.
The merge date and the mail date
The list mail is mid-October. The merge FreshBSD shows is October 17. A patch can be reviewed one day and merged later in the same week. Phoronix's October 17 news story, used on the boot-hang page, is about the postpone. This page does not borrow that story as if it had walked through emergency_restart. The list and the merge are the sources here. Security isSecurity.
What this page will not offer an operator
This page will not tell anyone how to invoke sysrq, a watchdog, or a debugger. Those names appear because Mladek used them as examples of callers. The dependency is whether the console flush runs on emergency_restart after this merge. Distributions still have to ship the commit. Open source, for a desktop preview rather than this path, is Asked directly, Why does he say pr_flush is the wrong call there? His note says printk_trigger_flush has to be used instead of pr_flush because the latter is not safe in an atomic context. That is a constraint on the fix, not a command this brief is offering a reader.Open Source.
A hotfix tag is a bundle
printk-for-7.3-hotfix is a bundle of small printk fixes aimed at the 7.3 release window. Bundles hide their members if a news story names only the most photogenic one. The boot hang photographs well because a machine does not start. The restart flush photographs poorly because the machine is already stopping. Both are in the tag text. Networking is Asked directly, Is this the boot-hang fix? No. The same merge tag also postpones kthread startup so some SMP machines can finish booting. That postpone is a different commit, by Ogness, filed on its own page. This page is only the restart flush.Networking.
Where the patch sits
Mladek's post is the change description. Ogness's reply is the review. FreshBSD is the merge. Nothing here is a backport announcement for a stable series. The short answer this page will stand on is this: The patch enters NBCON emergency mode during emergency_restart and tries to flush consoles there, because that path was not stopping the printer kthreads the way a normal shutdown does. Ogness reviewed it. Linus merged it in printk-for-7.3-hotfix beside the separate patch that delays kthread startup at boot.
Sources
The reports this brief is filing. Futureweb did not republish them.
Questions
Who wrote the emergency-restart patch?
The LKML copy is from Petr Mladek, dated around October 14, 2026. John Ogness replied with a reviewed-by on October 13 in the mirror this brief used. FreshBSD shows the commit inside Linus's October 17 merge of printk-for-7.3-hotfix.
What path was missing a flush?
Mladek's message says a normal shutdown stops NBCON kthreads through a syscore callback. emergency_restart was not doing that. The patch enters emergency mode and flushes there. He names non-panic callers such as a sysrq path, a debugger reboot, and some watchdogs, as examples of who can land in that function.
Why does he say pr_flush is the wrong call there?
His note says printk_trigger_flush has to be used instead of pr_flush because the latter is not safe in an atomic context. That is a constraint on the fix, not a command this brief is offering a reader.
Is this the boot-hang fix?
No. The same merge tag also postpones kthread startup so some SMP machines can finish booting. That postpone is a different commit, by Ogness, filed on its own page. This page is only the restart flush.
What does the tag message say in one line?
Petr Mladek's tag text, in Linus's merge, says the change switches NBCON consoles to emergency mode in emergency_restart so messages are visible on that shutdown path.