Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 8 files:
- drivers/accessibility/speakup/spk_ttyio.c
- drivers/tty/amiserial.c
- drivers/tty/serdev/serdev-ttyport.c, line 151
- drivers/tty/tty_io.c
- drivers/tty/tty_jobctrl.c
- drivers/tty/tty_ldisc.c, line 528
- drivers/tty/tty_mutex.c
- drivers/tty/tty_port.c, line 567
Smatch caller information:
drivers/tty/tty_io.c __tty_hangup() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 1-u64max |
| 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 | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | 0 | &tty->driver_data->d_lockref.lock |
drivers/tty/tty_io.c tty_fasync() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | tty | r file_tty |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/tty/tty_io.c tty_init_dev() -> tty_lock()
| 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 |
| PARAM_VALUE | 0 | tty->atomic_write_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->atomic_write_lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | tty->atomic_write_lock.owner.counter | 0 |
| PARAM_VALUE | 0 | tty->ctrl.pgrp | 0 |
| PARAM_VALUE | 0 | tty->ctrl.session | 0 |
| PARAM_VALUE | 0 | tty->dev | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->driver | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->driver->owner | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->kref.refcount.refs.counter | 1 |
| PARAM_VALUE | 0 | tty->ldisc | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ldisc->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ldisc->tty | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ldisc_sem.count.counter | 0 |
| 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->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ldisc_sem.wait_lock.magic | 3735899821 |
| PARAM_VALUE | 0 | tty->ldisc_sem.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | tty->ldisc_sem.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | tty->ldisc_sem.wait_readers | 0 |
| PARAM_VALUE | 0 | tty->ldisc_sem.write_wait.next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ldisc_sem.write_wait.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ldisc_sem.write_wait.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ldisc_sem.write_wait.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ldisc_sem.write_wait.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->legacy_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tty->legacy_mutex.first_waiter | 0 |
| PARAM_VALUE | 0 | tty->legacy_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->legacy_mutex.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | tty->legacy_mutex.owner.counter | 0 |
| PARAM_VALUE | 0 | tty->ops->lookup | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->read_wait.head.next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->read_wait.head.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->read_wait.head.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->read_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->read_wait.head.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->termios_rwsem.count.counter | 0 |
| PARAM_VALUE | 0 | tty->termios_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter | 0 |
| PARAM_VALUE | 0 | tty->termios_rwsem.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->termios_rwsem.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | tty->termios_rwsem.owner.counter | 0 |
| PARAM_VALUE | 0 | tty->throttle_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tty->throttle_mutex.first_waiter | 0 |
| PARAM_VALUE | 0 | tty->throttle_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->throttle_mutex.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | tty->throttle_mutex.owner.counter | 0 |
| PARAM_VALUE | 0 | tty->tty_files.next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->tty_files.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->tty_files.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->tty_files.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->tty_files.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->winsize_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tty->winsize_mutex.first_waiter | 0 |
| PARAM_VALUE | 0 | tty->winsize_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->winsize_mutex.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | tty->winsize_mutex.owner.counter | 0 |
| PARAM_VALUE | 0 | tty->write_wait.head.next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->write_wait.head.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->write_wait.head.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->write_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->write_wait.head.prev->prev | 4096-ptr_max |
| BUF_SIZE | 0 | tty | 1816 |
| DATA_SOURCE | 0 | tty | r alloc_tty_struct |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &spk_mutex | ||
| HALF_LOCKED2 | global &tty_mutex |
drivers/tty/tty_io.c tty_open_current_tty() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 1-u64max |
| DATA_SOURCE | 0 | tty | r get_current_tty |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/tty/tty_io.c tty_release() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 1-u64max |
| DATA_SOURCE | 0 | tty | r file_tty |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | _T->lock |
drivers/tty/tty_port.c tty_port_block_til_ready() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->legacy_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tty->legacy_mutex.first_waiter->task->usage.refs.counter | s32min-s32max |
| 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 | 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_serial | 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 |
| BUF_SIZE | 0 | tty->driver_data | (-1),1-s32max |
| BUF_SIZE | 0 | tty->link->driver_data | (-1),1-s32max |
| CAPPED_DATA | 0 | tty | 1 |
| DATA_SOURCE | 0 | tty | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &tty->legacy_mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &spk_mutex |
drivers/tty/tty_mutex.c tty_lock_slave() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 4096-ptr_max |
| DATA_SOURCE | 0 | tty | $0 |
| PARAM_COMPARE | 0 | tty | != $0->link |
| PARAM_COMPARE | 0 | tty | != $0->link |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &tty->legacy_mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| TYPE_LOCK | (struct tty_struct)->legacy_mutex |
drivers/tty/serdev/serdev-ttyport.c ttyport_close() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &ctrl->lock | ||
| HALF_LOCKED2 | &data->serdev_mutex | ||
| HALF_LOCKED2 | &gdev->rwsem | ||
| HALF_LOCKED2 | &hdev->req_lock | ||
| HALF_LOCKED2 | &nfc_dev->dev.mutex |
drivers/tty/tty_jobctrl.c disassociate_ctty() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 1-u64max |
| PARAM_VALUE | 0 | tty->ops->close | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->hangup | 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 |
| DATA_SOURCE | 0 | tty | r get_current_tty |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/tty/tty_jobctrl.c tiocsctty() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | tty | $0 |
| NOCHECK_CALL |
drivers/accessibility/speakup/spk_ttyio.c spk_ttyio_initialise_ldisc() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->legacy_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | tty->legacy_mutex.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | tty->ops->ldisc_ok | 0,4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops->open | 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->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,2624917664208203776 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->list.prev | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | tty | (-1),1816 |
| BUF_SIZE | 0 | tty | (-1),1816 |
| DATA_SOURCE | 0 | tty | r tty_kopen_exclusive |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &spk_mutex |
drivers/accessibility/speakup/spk_ttyio.c spk_ttyio_release() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 1-u64max |
| BUF_SIZE | 0 | tty | 1816 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &spk_mutex |
drivers/tty/tty_ldisc.c tty_set_ldisc() -> tty_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tty | 4096-ptr_max |
| PARAM_VALUE | 0 | tty->ops | 4096-ptr_max |
| 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->termios_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | tty->termios_rwsem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | tty | (-1),1816 |
| BUF_SIZE | 0 | tty | (-1),1816 |
| CAPPED_DATA | 0 | tty | 1 |
| DATA_SOURCE | 0 | tty | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &speakup_tty_mutex | ||
| HALF_LOCKED2 | global &spk_mutex |