Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 7 files:

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