Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/tty/tty_io.c tty_init_dev() -> release_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
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->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.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_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->list.prev->next 5159360019465732096
PARAM_VALUE 0 tty->legacy_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 tty->ops 4096-ptr_max
PARAM_VALUE 0 tty->ops->lookup 0,4096-ptr_max
PARAM_VALUE 0 tty->port->itty 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->atomic_write_lock.magic 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->driver 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->ldisc 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->ldisc_sem.read_wait.next 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->ldisc_sem.read_wait.prev 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->ldisc_sem.write_wait.next 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->ldisc_sem.write_wait.prev 1197945390870683648
PARAM_VALUE 0 tty->port->itty->legacy_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 tty->port->itty->ops 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->port 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->read_wait.head.next 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->read_wait.head.prev 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->termios_rwsem.magic 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->throttle_mutex.magic 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->tty_files.next 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->tty_files.prev 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->winsize_mutex.magic 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->write_wait.head.next 4096-ptr_max
PARAM_VALUE 0 tty->port->itty->write_wait.head.prev 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
BUF_SIZE 0 tty->port->itty (-1),1816
DATA_SOURCE 0 tty r alloc_tty_struct
DATA_SOURCE 1 idx $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 idx unit_array_size
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &spk_mutex
HALF_LOCKED2 global &tty_mutex

drivers/tty/tty_io.c tty_kclose() -> release_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->SAK_work.lockdep_map->name 0-255
PARAM_VALUE 0 tty->hangup_work.lockdep_map->name 0-255
PARAM_VALUE 0 tty->ldisc 0
PARAM_VALUE 0 tty->ldisc_sem.dep_map->name 0-255
PARAM_VALUE 0 tty->ldisc_sem.read_wait.next->next 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.write_wait.prev 1197945390870683648
PARAM_VALUE 0 tty->ldisc_sem.write_wait.prev->next 1197945390870683648
PARAM_VALUE 0 tty->ldisc_sem.write_wait.prev->next->next 4096-ptr_max
PARAM_VALUE 0 tty->legacy_mutex.dep_map->name 0-255
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.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 tty->link 0,4096-ptr_max
PARAM_VALUE 0 tty->link->SAK_work.lockdep_map->name 0-255
PARAM_VALUE 0 tty->link->hangup_work.lockdep_map->name 0-255
PARAM_VALUE 0 tty->link->ldisc 0
PARAM_VALUE 0 tty->link->ldisc_sem.dep_map->name 0-255
PARAM_VALUE 0 tty->link->ldisc_sem.read_wait.next->next 4096-ptr_max
PARAM_VALUE 0 tty->link->ldisc_sem.read_wait.prev->next 4096-ptr_max
PARAM_VALUE 0 tty->link->ldisc_sem.read_wait.prev->prev 4096-ptr_max
PARAM_VALUE 0 tty->link->ldisc_sem.write_wait.prev 1197945390870683648
PARAM_VALUE 0 tty->link->ldisc_sem.write_wait.prev->next 1197945390870683648
PARAM_VALUE 0 tty->link->ldisc_sem.write_wait.prev->next->next 4096-ptr_max
PARAM_VALUE 0 tty->ops->close 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->ldisc_ok 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
CAPPED_DATA 0 tty 1
CAPPED_DATA 0 tty->link 1
DATA_SOURCE 0 tty $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 idx unit_array_size
LOCK2 global &spk_mutex
LOCK2 global &tty_mutex

drivers/tty/tty_io.c tty_release_struct() -> release_tty()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->SAK_work.lockdep_map->name 0-255
PARAM_VALUE 0 tty->hangup_work.lockdep_map->name 0-255
PARAM_VALUE 0 tty->ldisc 0
PARAM_VALUE 0 tty->ldisc_sem.dep_map->name 0-255
PARAM_VALUE 0 tty->ldisc_sem.read_wait.next->next 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.write_wait.prev 1197945390870683648
PARAM_VALUE 0 tty->ldisc_sem.write_wait.prev->next 1197945390870683648
PARAM_VALUE 0 tty->ldisc_sem.write_wait.prev->next->next 4096-ptr_max
PARAM_VALUE 0 tty->legacy_mutex.dep_map->name 0-255
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.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 tty->link 0,4096-ptr_max
PARAM_VALUE 0 tty->link->SAK_work.lockdep_map->name 0-255
PARAM_VALUE 0 tty->link->hangup_work.lockdep_map->name 0-255
PARAM_VALUE 0 tty->link->ldisc 0
PARAM_VALUE 0 tty->link->ldisc_sem.dep_map->name 0-255
PARAM_VALUE 0 tty->link->ldisc_sem.read_wait.next->next 4096-ptr_max
PARAM_VALUE 0 tty->link->ldisc_sem.read_wait.prev->next 4096-ptr_max
PARAM_VALUE 0 tty->link->ldisc_sem.read_wait.prev->prev 4096-ptr_max
PARAM_VALUE 0 tty->link->ldisc_sem.write_wait.prev 1197945390870683648
PARAM_VALUE 0 tty->link->ldisc_sem.write_wait.prev->next 1197945390870683648
PARAM_VALUE 0 tty->link->ldisc_sem.write_wait.prev->next->next 4096-ptr_max
PARAM_VALUE 0 tty->ops 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
BUF_SIZE 0 tty (-1),1816
BUF_SIZE 0 tty (-1),1816
CAPPED_DATA 0 tty 1
CAPPED_DATA 0 tty->link 1
DATA_SOURCE 0 tty $0
DATA_SOURCE 1 idx $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 idx unit_array_size
LOCK2 global &tty_mutex