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 |