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: John Ogness <john.ogness@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20220421212250.565456-3-john.ogness@linutronix.de
This commit is contained in:
Родитель
faebd693c5
Коммит
f5343321b7
|
@ -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;
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче