Re: [PATCH printk v2 2/5] printk: remove safe buffers
From: John Ogness <john.ogness@linutronix.de>
Date: 2021-03-31 08:00:20
Also in:
kexec, lkml
On 2021-03-30, John Ogness [off-list ref] wrote:
quoted hunk ↗ jump to hunk
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index e971c0a9ec9e..f090d6a1b39e 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c@@ -1772,16 +1759,21 @@ static struct task_struct *console_owner; static bool console_waiter; /** - * console_lock_spinning_enable - mark beginning of code where another + * console_lock_spinning_enable_irqsave - mark beginning of code where another * thread might safely busy wait * * This basically converts console_lock into a spinlock. This marks * the section where the console_lock owner can not sleep, because * there may be a waiter spinning (like a spinlock). Also it must be * ready to hand over the lock at the end of the section. + * + * This disables interrupts because the hand over to a waiter must not be + * interrupted until the hand over is completed (@console_waiter is cleared). */ -static void console_lock_spinning_enable(void) +static void console_lock_spinning_enable_irqsave(unsigned long *flags)
I missed the prototype change for the !CONFIG_PRINTK case, resulting in: linux/kernel/printk/printk.c:2707:3: error: implicit declaration of function ‘console_lock_spinning_enable_irqsave’; did you mean ‘console_lock_spinning_enable’? [-Werror=implicit-function-declaration] console_lock_spinning_enable_irqsave(&flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ console_lock_spinning_enable Will be fixed for v3. (I have now officially added !CONFIG_PRINTK to my CI tests.) John Ogness