Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/tty/tty_io.c tty_send_xchar() -> start_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->atomic_write_lock.dep_map->name 0-255
PARAM_VALUE 0 tty->atomic_write_lock.first_waiter 0,4096-5159360019465732095,5159360019465732097-ptr_max
PARAM_VALUE 0 tty->atomic_write_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tty->atomic_write_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 tty->flow.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->chars_in_buffer 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->send_xchar 0
PARAM_VALUE 0 tty->termios.c_cc 4096-ptr_max
PARAM_VALUE 0 tty->termios_rwsem.dep_map->name 0-255
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 1
CAPPED_DATA 0 &tty->termios_rwsem 1
DATA_SOURCE 0 tty $0
NOCHECK_CALL
LOCK2 0 &tty->atomic_write_lock
LOCK2 0 &tty->ldisc_sem
LOCK2 0 &tty->termios_rwsem
TYPE_LOCK (struct tty_struct)->atomic_write_lock
TYPE_LOCK (struct tty_struct)->ldisc_sem
TYPE_LOCK (struct tty_struct)->termios_rwsem

drivers/accessibility/speakup/buffers.c speakup_start_ttys() -> start_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &spk_mutex

drivers/tty/vt/keyboard.c fn_hold() -> start_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->flow.stopped 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->event_lock
LOCK2 global &kbd_event_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct input_dev)->event_lock

drivers/tty/n_tty.c n_tty_receive_char() -> start_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->flow.stopped 1
PARAM_VALUE 0 tty->flow.tco_stopped 0
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->flush_chars 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152
PARAM_VALUE 0 tty->termios.c_iflag 2048-u32max
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
BIT_INFO 0 tty->termios.c_iflag 0xc00,0xffffffff
NOCHECK_CALL
USER_PTR 0 tty->disc_data->priv->rx_skb->data
LOCK2 _T->lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->port->buf.lock

drivers/tty/n_tty.c n_tty_receive_char_closing() -> start_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->flow.stopped 1
PARAM_VALUE 0 tty->flow.tco_stopped 0
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152
PARAM_VALUE 0 tty->termios.c_cc 4096-ptr_max
PARAM_VALUE 0 tty->termios.c_iflag 2048-u32max
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
BIT_INFO 0 tty->termios.c_iflag 0xc00,0xffffffff
NOCHECK_CALL
USER_PTR 0 tty->disc_data->priv->rx_skb->data
LOCK2 _T->lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->port->buf.lock

drivers/tty/n_tty.c n_tty_receive_char_flow_ctrl() -> start_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->flush_chars 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152
PARAM_VALUE 0 tty->termios.c_cc 4096-ptr_max
PARAM_VALUE 0 tty->termios.c_iflag 1024-u32max
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
BIT_INFO 0 tty->termios.c_iflag 0x400,0xffffffffffffffff
NOCHECK_CALL
USER_PTR 0 tty->disc_data->priv->rx_skb->data
HALF_LOCKED2 &buf->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->port->buf.lock

drivers/tty/n_tty.c n_tty_receive_char_special() -> start_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->flow.stopped 1
PARAM_VALUE 0 tty->flow.tco_stopped 0
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152
PARAM_VALUE 0 tty->termios.c_iflag 2048-u32max
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
BIT_INFO 0 tty->termios.c_iflag 0xc00,0xffffffff
BIT_INFO 0 tty->termios.c_lflag 0x0,0xfffeffff
NOCHECK_CALL
USER_PTR 0 tty->disc_data->priv->rx_skb->data
LOCK2 _T->lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->port->buf.lock

drivers/tty/n_tty.c n_tty_receive_signal_char() -> start_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->ctrl.pgrp 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->flush_chars 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152
PARAM_VALUE 0 tty->termios.c_cc 4096-ptr_max
PARAM_VALUE 0 tty->termios.c_iflag 1024-u32max
PARAM_VALUE 0 tty->termios.c_lflag 1-u32max
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
BIT_INFO 0 tty->termios.c_iflag 0x400,0xffffffff
BIT_INFO 0 tty->termios.c_lflag 0x1,0xfffeffff
NOCHECK_CALL
USER_PTR 0 tty->disc_data->priv->rx_skb->data
LOCK2 _T->lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->port->buf.lock

drivers/tty/n_tty.c n_tty_set_termios() -> start_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->driver 4096-ptr_max
PARAM_VALUE 0 tty->flow.tco_stopped 0
PARAM_VALUE 0 tty->ldisc 1-u64max
PARAM_VALUE 0 tty->ldisc_sem.dep_map->name 0-255
PARAM_VALUE 0 tty->ops 4096-ptr_max
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,759512161776693248,1438963212235436032,3037852187181395968,3356400052838694912,4884767172415688704,8736245651927326720,8787202642060013568
PARAM_VALUE 0 tty->ops->flush_chars 0,1052010245467496448,2980791929595514880,3704408163259400192,5936479321816121344,7727514164138360832
PARAM_VALUE 0 tty->ops->get_icount 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->get_serial 0,1330961132715589632,4039553157414182912,4811237459575484416,4871069280902643712,5552263133363023872,6182381990465540096
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,6843386834578624512
PARAM_VALUE 0 tty->ops->lookup 0,1028560029362032640,3174408500077174784
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,1741587377620623360
PARAM_VALUE 0 tty->ops->set_serial 0,1094580457323642880,1874457111024828416,3044275849337626624,4342027950721310720,4577945029913939968,6749800265494245376
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,251324532200828928,1038803386632884224,1167599979921588224,1380472159287435264,2505730045728698368
PARAM_VALUE 0 tty->ops->stop 0,550124932249174016,3234480389994364928,5153393563898503168,6441875407016759296,7334840043119542272
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,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152
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
PARAM_VALUE 0 *tty->termios->c_cc 0-255
BUF_SIZE 0 tty s32min,(-1),1-s32max
BUF_SIZE 0 tty s32min,(-1),1-s32max
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
BIT_INFO 0 tty->termios.c_iflag 0x0,0xfffffbff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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
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
LOCK2 0 &tty->ldisc_sem
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->legacy_mutex
TYPE_LOCK (struct tty_struct)->ldisc_sem
TYPE_LOCK (struct tty_struct)->termios_rwsem

drivers/net/ppp/ppp_async.c ppp_async_input() -> start_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
NOCHECK_CALL
LOCK2 &ap->recv_lock
LOCK2 flags
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &tty->port->buf.lock
TYPE_LOCK (struct asyncppp)->recv_lock