Loading kernel/printk.c +10 −12 Original line number Diff line number Diff line Loading @@ -652,16 +652,14 @@ static int acquire_console_semaphore_for_printk(unsigned int cpu) spin_unlock(&logbuf_lock); return retval; } const char printk_recursion_bug_msg [] = static const char recursion_bug_msg [] = KERN_CRIT "BUG: recent printk recursion!\n"; static int printk_recursion_bug; asmlinkage int vprintk(const char *fmt, va_list args) { static int recursion_bug; static int log_level_unknown = 1; static char printk_buf[1024]; asmlinkage int vprintk(const char *fmt, va_list args) { unsigned long flags; int printed_len = 0; int this_cpu; Loading @@ -686,7 +684,7 @@ asmlinkage int vprintk(const char *fmt, va_list args) * it can be printed at the next appropriate moment: */ if (!oops_in_progress) { printk_recursion_bug = 1; recursion_bug = 1; goto out_restore_irqs; } zap_locks(); Loading @@ -696,10 +694,10 @@ asmlinkage int vprintk(const char *fmt, va_list args) spin_lock(&logbuf_lock); printk_cpu = this_cpu; if (printk_recursion_bug) { printk_recursion_bug = 0; strcpy(printk_buf, printk_recursion_bug_msg); printed_len = sizeof(printk_recursion_bug_msg); if (recursion_bug) { recursion_bug = 0; strcpy(printk_buf, recursion_bug_msg); printed_len = sizeof(recursion_bug_msg); } /* Emit the output into the temporary buffer */ printed_len += vscnprintf(printk_buf + printed_len, Loading Loading
kernel/printk.c +10 −12 Original line number Diff line number Diff line Loading @@ -652,16 +652,14 @@ static int acquire_console_semaphore_for_printk(unsigned int cpu) spin_unlock(&logbuf_lock); return retval; } const char printk_recursion_bug_msg [] = static const char recursion_bug_msg [] = KERN_CRIT "BUG: recent printk recursion!\n"; static int printk_recursion_bug; asmlinkage int vprintk(const char *fmt, va_list args) { static int recursion_bug; static int log_level_unknown = 1; static char printk_buf[1024]; asmlinkage int vprintk(const char *fmt, va_list args) { unsigned long flags; int printed_len = 0; int this_cpu; Loading @@ -686,7 +684,7 @@ asmlinkage int vprintk(const char *fmt, va_list args) * it can be printed at the next appropriate moment: */ if (!oops_in_progress) { printk_recursion_bug = 1; recursion_bug = 1; goto out_restore_irqs; } zap_locks(); Loading @@ -696,10 +694,10 @@ asmlinkage int vprintk(const char *fmt, va_list args) spin_lock(&logbuf_lock); printk_cpu = this_cpu; if (printk_recursion_bug) { printk_recursion_bug = 0; strcpy(printk_buf, printk_recursion_bug_msg); printed_len = sizeof(printk_recursion_bug_msg); if (recursion_bug) { recursion_bug = 0; strcpy(printk_buf, recursion_bug_msg); printed_len = sizeof(recursion_bug_msg); } /* Emit the output into the temporary buffer */ printed_len += vscnprintf(printk_buf + printed_len, Loading