Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

kernel/printk/printk.c __console_rewind_all() -> console_srcu_read_lock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &console_sem
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

kernel/printk/printk.c __pr_flush() -> console_srcu_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &console_sem

kernel/printk/printk.c console_device() -> console_srcu_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &console_sem
LOCK2 global &tty_mutex

kernel/printk/printk.c console_flush_one_record() -> console_srcu_read_lock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &console_sem

kernel/printk/printk.c console_unblank() -> console_srcu_read_lock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 irq

kernel/printk/printk.c console_unblank() -> console_srcu_read_lock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &console_sem
HALF_LOCKED2 flags
HALF_LOCKED2 irq

kernel/printk/printk.c legacy_kthread_should_wakeup() -> console_srcu_read_lock()

Type Parameter Key Value
TASK_NOT_RUNNING
HALF_LOCKED2 global &console_sem

kernel/printk/nbcon.c __nbcon_atomic_flush_pending() -> console_srcu_read_lock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/printk/nbcon.c nbcon_device_release() -> console_srcu_read_lock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &s->port.lock
HALF_LOCKED2 &tup->port.lock
HALF_LOCKED2 &up->lock
HALF_LOCKED2 &up->port.lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq

kernel/printk/nbcon.c nbcon_kthread_func() -> console_srcu_read_lock()

Type Parameter Key Value

kernel/printk/nbcon.c nbcon_kthread_should_wakeup() -> console_srcu_read_lock()

Type Parameter Key Value

kernel/printk/nbcon.c nbcon_kthreads_wake() -> console_srcu_read_lock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &console_sem
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 rcu_read

kernel/debug/kdb/kdb_io.c kdb_msg_write() -> console_srcu_read_lock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags

drivers/tty/serial/kgdboc.c configure_kgdboc() -> console_srcu_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &console_sem
HALF_LOCKED2 global &config_mutex

drivers/tty/serial/kgdboc.c kgdboc_earlycon_pre_exp_handler() -> console_srcu_read_lock()

Type Parameter Key Value
LOCK2 global &dbg_master_lock
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &dbg_slave_lock