Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 7 files:
- drivers/tty/serial/serial_core.c, line 3409
- drivers/tty/tty_io.c, line 512
- drivers/tty/tty_ioctl.c
- drivers/tty/tty_ldisc.c
- drivers/tty/tty_port.c
- drivers/usb/class/cdc-acm.c, line 324
- drivers/usb/serial/generic.c, line 614
Smatch caller information:
drivers/tty/tty_io.c tty_wakeup() -> tty_ldisc_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->link->termios_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | tty->link->termios_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | tty->ops->break_ctl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->chars_in_buffer | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->cleanup | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->close | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->compat_ioctl | 0,1607379221601308672,5008286898947497984,6364353445524312064 |
| PARAM_VALUE | 0 | tty->ops->flush_buffer | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->flush_chars | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->get_icount | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->get_serial | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->hangup | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->install | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->ioctl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->ldisc_ok | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->lookup | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->open | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->poll_get_char | 0,4172584550987694080,8810588628199956480 |
| PARAM_VALUE | 0 | tty->ops->poll_init | 0,1455831725284642816,7005422354281586688 |
| PARAM_VALUE | 0 | tty->ops->poll_put_char | 0,317088091350007808,4944462343817641984 |
| PARAM_VALUE | 0 | tty->ops->proc_show | 0,356236415985979392,5729891321464528896,9011853526131630080 |
| PARAM_VALUE | 0 | tty->ops->put_char | 0,46317935159074816,946511232463630336,5234932001147445248,6499862429192966144,7134038662404317184 |
| PARAM_VALUE | 0 | tty->ops->remove | 0,384629141214146560,3489019467251376128 |
| PARAM_VALUE | 0 | tty->ops->resize | 0,2815742157479378944,7598537204212207616 |
| PARAM_VALUE | 0 | tty->ops->send_xchar | 0,2462859047340216320,4708555404674125824,8710759130855649280 |
| PARAM_VALUE | 0 | tty->ops->set_ldisc | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->set_serial | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->set_termios | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->show_fdinfo | 0,5525676422896762880 |
| PARAM_VALUE | 0 | tty->ops->shutdown | 0,3518621193109893120,5469287042401259520 |
| PARAM_VALUE | 0 | tty->ops->start | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->stop | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->throttle | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->tiocmget | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->tiocmset | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->unthrottle | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->wait_until_sent | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->write | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->write_room | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | tty | (-1),1-s32max |
| BUF_SIZE | 0 | tty | (-1),1-s32max |
| BUF_SIZE | 0 | tty->disc_data | (-1),16,480,520,9144 |
| BUF_SIZE | 0 | tty->driver_data | (-1),1-s32max |
| BUF_SIZE | 0 | tty->ldisc | (-1),4,16,24,64,168-s32max |
| BUF_SIZE | 0 | tty->port->itty | (-1),8-s32max |
| BUF_SIZE | 0 | tty->write_buf | (-1),1024-65536 |
| DATA_SOURCE | 0 | tty | $0 |
| STR_LEN | 0 | tty | (-1)-18 |
| STR_LEN | 0 | tty | (-1)-18 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | tty->termios.c_cflag | 0-u32max[c] |
| USER_DATA | 0 | tty->termios.c_iflag | 0-u32max[c] |
| USER_DATA | 0 | tty->termios.c_ispeed | 0-u32max |
| USER_DATA | 0 | tty->termios.c_lflag | 0-u32max[c] |
| USER_DATA | 0 | tty->termios.c_line | 0-255 |
| USER_DATA | 0 | tty->termios.c_oflag | 0-u32max[c] |
| USER_DATA | 0 | tty->termios.c_ospeed | 0-u32max |
| USER_DATA | 0 | tty->write_cnt | 1025-u16max[c] |
| NO_OVERFLOW_SIMPLE | 0 | tty->driver_data->d_fsdata | |
| NO_OVERFLOW_SIMPLE | 0 | tty->driver_data->d_fsdata->d_fsdata | |
| NO_OVERFLOW_SIMPLE | 0 | tty->name | |
| USER_PTR | 0 | tty->disc_data->priv->rx_skb->data | |
| HALF_LOCKED2 | &hp->lock | ||
| HALF_LOCKED2 | &port->port_lock | ||
| HALF_LOCKED2 | &port->slock | ||
| HALF_LOCKED2 | &tty->ldisc_sem | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &moxa_lock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | &tty->atomic_write_lock | |
| HALF_LOCKED2 | 0 | &tty->driver_data->d_lockref.lock | |
| HALF_LOCKED2 | 0 | &tty->flow.lock | |
| HALF_LOCKED2 | 0 | &tty->ldisc_sem | |
| HALF_LOCKED2 | 0 | &tty->legacy_mutex | |
| HALF_LOCKED2 | 0 | &tty->port->buf.lock | |
| HALF_LOCKED2 | 0 | &tty->termios_rwsem |
drivers/tty/tty_port.c tty_port_default_lookahead_buf() -> tty_ldisc_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 1-u64max |
| LOCK2 | &buf->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct tty_bufhead)->lock |
drivers/tty/tty_port.c tty_port_default_receive_buf() -> tty_ldisc_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 1-u64max |
| LOCK2 | &buf->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct tty_bufhead)->lock |
drivers/tty/serial/serial_core.c uart_handle_dcd_change() -> tty_ldisc_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 1-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &atmel_port->lock_suspended | ||
| HALF_LOCKED2 | &icom_port->uart_port.lock | ||
| HALF_LOCKED2 | &port->lock | ||
| HALF_LOCKED2 | &s->port.lock | ||
| HALF_LOCKED2 | &sport->port.lock | ||
| HALF_LOCKED2 | &u->lock | ||
| HALF_LOCKED2 | &uport->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | lock_flags |
drivers/tty/tty_ioctl.c set_termios() -> tty_ldisc_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->driver | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ldisc | 1-u64max |
| PARAM_VALUE | 0 | tty->ldisc_sem.read_wait.next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ldisc_sem.read_wait.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->termios_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | tty->termios_rwsem.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tty->termios_rwsem.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | tty->termios_rwsem.wait_lock.owner_cpu | u32max |
| CAPPED_DATA | 0 | &tty->termios_rwsem | 1 |
| DATA_SOURCE | 0 | tty | $0 |
| LOCK2 | &tty->ldisc_sem | ||
| LOCK2 | 0 | &tty->atomic_write_lock | |
| TYPE_LOCK | (struct tty_struct)->atomic_write_lock | ||
| TYPE_LOCK | (struct tty_struct)->ldisc_sem |
drivers/tty/tty_ioctl.c tty_set_termios() -> tty_ldisc_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->driver | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->chars_in_buffer | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->close | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->lookup | 0,1028560029362032640,3174408500077174784 |
| PARAM_VALUE | 0 | tty->ops->open | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->set_termios | 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 |
| PARAM_VALUE | 0 | *tty->termios->c_cc | 0-255 |
| BUF_SIZE | 0 | tty | (-1),1816 |
| BUF_SIZE | 0 | tty | (-1),1816 |
| CAPPED_DATA | 0 | &tty->termios_rwsem | 1 |
| DATA_SOURCE | 0 | tty | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | tty->driver_data->clocal | 0-1 |
| USER_DATA | 0 | tty->driver_data->line.bParityType | 1-4[c] |
| USER_DATA | 0 | tty->driver_data->line.dwDTERate | 0-4294967295 |
| USER_DATA | 0 | tty->driver_data->line_coding.parity | 1-4[c] |
| USER_DATA | 0 | tty->driver_data->line_coding.rate | 0-4294967295 |
| USER_DATA | 0 | tty->driver_data->timeout | 5-320005[c] |
| USER_DATA | 0 | tty->termios.c_cflag | 0-u32max[c] |
| USER_DATA | 0 | tty->termios.c_iflag | 0-u32max[c] |
| USER_DATA | 0 | tty->termios.c_ispeed | 0-u32max |
| USER_DATA | 0 | tty->termios.c_lflag | 0-u32max[c] |
| USER_DATA | 0 | tty->termios.c_line | 0-255 |
| USER_DATA | 0 | tty->termios.c_oflag | 0-u32max[c] |
| USER_DATA | 0 | tty->termios.c_ospeed | 0-u32max |
| LOCK2 | 0 | &tty->termios_rwsem | |
| HALF_LOCKED2 | &hdev->req_lock | ||
| HALF_LOCKED2 | &tty->ldisc_sem | ||
| HALF_LOCKED2 | global &spk_mutex | ||
| HALF_LOCKED2 | 0 | &tty->atomic_write_lock | |
| HALF_LOCKED2 | 0 | &tty->ldisc_sem | |
| TYPE_LOCK | (struct tty_struct)->termios_rwsem |
drivers/usb/serial/generic.c usb_serial_handle_dcd_change() -> tty_ldisc_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 4096-ptr_max |
| BUF_SIZE | 0 | tty | (-1),1-s32max |
| BUF_SIZE | 0 | tty | (-1),1-s32max |
| DATA_SOURCE | 0 | tty | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &priv->lock |
drivers/usb/class/cdc-acm.c acm_process_notification() -> tty_ldisc_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
drivers/tty/tty_ldisc.c tty_ldisc_flush() -> tty_ldisc_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty->link->termios_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | tty->link->termios_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | tty->ops->chars_in_buffer | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->close | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->compat_ioctl | 0,1607379221601308672,5008286898947497984,6364353445524312064 |
| PARAM_VALUE | 0 | tty->ops->ioctl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->ldisc_ok | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->lookup | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->open | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->set_ldisc | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->set_termios | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->write | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | tty | s32min,(-1),1-s32max |
| BUF_SIZE | 0 | tty | s32min,(-1),1-s32max |
| DATA_SOURCE | 0 | tty | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &spk_mutex | ||
| HALF_LOCKED2 | 0 | &tty->driver_data->d_lockref.lock | |
| HALF_LOCKED2 | 0 | &tty->legacy_mutex |
drivers/tty/tty_ldisc.c tty_ldisc_hangup() -> tty_ldisc_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ctrl.session | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->driver | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->files_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tty->legacy_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tty->legacy_mutex.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->legacy_mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | tty->legacy_mutex.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | tty->legacy_mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | tty->ops->chars_in_buffer | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->port | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | tty | (-1),1-s32max |
| BUF_SIZE | 0 | tty | (-1),1-s32max |
| CAPPED_DATA | 0 | tty | 1 |
| DATA_SOURCE | 0 | tty | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &tty->legacy_mutex | |
| HALF_LOCKED2 | 0 | &tty->driver_data->d_lockref.lock | |
| TYPE_LOCK | (struct tty_struct)->legacy_mutex |