Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/tty/tty_ldisc.c tty_ldisc_deref() -> ldsem_up_read()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &acm->port.tty->ldisc_sem
HALF_LOCKED2 &buf->lock
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &tty->legacy_mutex
HALF_LOCKED2 &tty->termios_rwsem
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_ldisc.c tty_ldisc_ref() -> ldsem_up_read()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &buf->lock
HALF_LOCKED2 &tty->legacy_mutex
HALF_LOCKED2 &tty->termios_rwsem
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_ldisc.c tty_ldisc_ref_wait() -> ldsem_up_read()

Type Parameter Key Value
PARAM_VALUE 0 sem 4096-ptr_max
PARAM_VALUE 0 sem->read_wait.next 4096-ptr_max
PARAM_VALUE 0 sem->read_wait.prev 4096-ptr_max
PARAM_VALUE 0 sem->wait_lock.owner (-1)
PARAM_VALUE 0 sem->wait_lock.owner_cpu u32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &tty->legacy_mutex
TYPE_LOCK (struct tty_struct)->ldisc_sem