Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/tty/tty_io.c stop_tty() -> __stop_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 1-u64max
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->compat_ioctl 0,1607379221601308672,5008286898947497984,6364353445524312064
PARAM_VALUE 0 tty->ops->flush_chars 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->ioctl 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->send_xchar 0,2462859047340216320,4708555404674125824,8710759130855649280
PARAM_VALUE 0 tty->ops->stop 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->type 0-1
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_PTR 0 tty->disc_data->priv->rx_skb->data
LOCK2 irq
LOCK2 0 &tty->flow.lock
HALF_LOCKED2 &ap->recv_lock
HALF_LOCKED2 &dev->event_lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &kbd_event_lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &tty->atomic_write_lock
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->port->buf.lock
HALF_LOCKED2 0 &tty->termios_rwsem
TYPE_LOCK (struct tty_struct)->flow.lock

drivers/tty/tty_ioctl.c n_tty_ioctl_helper() -> __stop_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->flow.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tty->flow.tco_stopped 1
PARAM_VALUE 0 tty->ldisc 1-u64max
PARAM_VALUE 0 tty->ldisc_sem.dep_map->name 0-255
PARAM_VALUE 0 tty->ldisc_sem.read_wait.next 4096-ptr_max
PARAM_VALUE 0 tty->ldisc_sem.read_wait.next->next 4096-ptr_max
PARAM_VALUE 0 tty->ldisc_sem.read_wait.prev 4096-ptr_max
PARAM_VALUE 0 tty->ldisc_sem.read_wait.prev->next 4096-ptr_max
PARAM_VALUE 0 tty->ldisc_sem.read_wait.prev->next->next 4096-ptr_max
PARAM_VALUE 0 tty->ldisc_sem.read_wait.prev->prev 4096-ptr_max
PARAM_VALUE 0 tty->ops 4096-ptr_max
PARAM_VALUE 0 tty->ops->compat_ioctl 0,1607379221601308672,5008286898947497984,6364353445524312064
PARAM_VALUE 0 tty->ops->ioctl 0,4096-ptr_max
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &tty->flow.lock
LOCK2 0 &tty->ldisc_sem
TYPE_LOCK (struct tty_struct)->flow.lock
TYPE_LOCK (struct tty_struct)->ldisc_sem