Commit f5343321 authored by John Ogness's avatar John Ogness Committed by Petr Mladek
Browse files

printk: cpu sync always disable interrupts



The CPU sync functions are a NOP for !CONFIG_SMP. But for
!CONFIG_SMP they still need to disable interrupts in order to
preserve context within the CPU sync sections.

Signed-off-by: default avatarJohn Ogness <john.ogness@linutronix.de>
Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
Reviewed-by: default avatarSergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20220421212250.565456-3-john.ogness@linutronix.de
parent faebd693
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -281,9 +281,16 @@ extern int __printk_cpu_sync_try_get(void);
extern void __printk_cpu_sync_wait(void);
extern void __printk_cpu_sync_put(void);

#else

#define __printk_cpu_sync_try_get() true
#define __printk_cpu_sync_wait()
#define __printk_cpu_sync_put()
#endif /* CONFIG_SMP */

/**
 * printk_cpu_sync_get_irqsave() - Acquire the printk cpu-reentrant spinning
 *                                 lock and disable interrupts.
 * printk_cpu_sync_get_irqsave() - Disable interrupts and acquire the printk
 *                                 cpu-reentrant spinning lock.
 * @flags: Stack-allocated storage for saving local interrupt state,
 *         to be passed to printk_cpu_sync_put_irqrestore().
 *
@@ -322,13 +329,6 @@ extern void __printk_cpu_sync_put(void);
		local_irq_restore(flags);	\
	} while (0)

#else

#define printk_cpu_sync_get_irqsave(flags) ((void)flags)
#define printk_cpu_sync_put_irqrestore(flags) ((void)flags)

#endif /* CONFIG_SMP */

extern int kptr_restrict;

/**