kernel/printk/printk.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Check the console_trylock() return value in case it fails.
Signed-off-by: Li Zhong <floridsleeves@gmail.com>
---
kernel/printk/printk.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index a1a81fd9889b..2c6a0484315b 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2937,7 +2937,8 @@ void console_flush_on_panic(enum con_flush_mode mode)
* context and we don't want to get preempted while flushing,
* ensure may_schedule is cleared.
*/
- console_trylock();
+ if (!console_trylock())
+ return;
console_may_schedule = 0;
if (mode == CONSOLE_REPLAY_ALL) {
--
2.25.1
On (22/09/16 18:58), Li Zhong wrote: > Check the console_trylock() return value in case it fails. [..] > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > index a1a81fd9889b..2c6a0484315b 100644 > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -2937,7 +2937,8 @@ void console_flush_on_panic(enum con_flush_mode mode) > * context and we don't want to get preempted while flushing, > * ensure may_schedule is cleared. > */ > - console_trylock(); > + if (!console_trylock()) > + return; It supposed to be ignored and the comment above (in the code) explains why: this is panic flush, we want to proceed regardless.
On Sun, Sep 18, 2022 at 6:11 AM Sergey Senozhatsky <senozhatsky@chromium.org> wrote: > > On (22/09/16 18:58), Li Zhong wrote: > > Check the console_trylock() return value in case it fails. > [..] > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > > index a1a81fd9889b..2c6a0484315b 100644 > > --- a/kernel/printk/printk.c > > +++ b/kernel/printk/printk.c > > @@ -2937,7 +2937,8 @@ void console_flush_on_panic(enum con_flush_mode mode) > > * context and we don't want to get preempted while flushing, > > * ensure may_schedule is cleared. > > */ > > - console_trylock(); > > + if (!console_trylock()) > > + return; > > It supposed to be ignored and the comment above (in the code) > explains why: this is panic flush, we want to proceed regardless. Thanks for your explanation.
© 2016 - 2026 Red Hat, Inc.