mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
fc956ae0de
Guarantee safe iteration of the console list by using SRCU. Note that in the case of a handover, the SRCU read lock is also released. This is documented in the function description and as comments in the code. It is a bit tricky, but this preserves the lockdep lock ordering for the context handing over the console_lock: console_lock() | mutex_acquire(&console_lock_dep_map) <-- console lock | console_unlock() | console_flush_all() | | srcu_read_lock(&console_srcu) <-- srcu lock | | console_emit_next_record() | | | console_lock_spinning_disable_and_check() | | | | srcu_read_unlock(&console_srcu) <-- srcu unlock | | | | mutex_release(&console_lock_dep_map) <-- console unlock Signed-off-by: John Ogness <john.ogness@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20221116162152.193147-16-john.ogness@linutronix.de |
||
---|---|---|
.. | ||
braille.c | ||
braille.h | ||
console_cmdline.h | ||
index.c | ||
internal.h | ||
Makefile | ||
printk_ringbuffer.c | ||
printk_ringbuffer.h | ||
printk_safe.c | ||
printk.c | ||
sysctl.c |