Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/tty/tty_io.c __tty_hangup() -> check_tty_count()

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 0,4096-ptr_max
PARAM_VALUE 0 tty->legacy_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tty->legacy_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 routine 1274537499015598080
BUF_SIZE 0 tty (-1),1-s32max
BUF_SIZE 0 tty (-1),1-s32max
BUF_SIZE 1 routine 11
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
STR_LEN 0 tty 10
TERMINATED 1 routine 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &tty->legacy_mutex
HALF_LOCKED2 0 &tty->driver_data->d_lockref.lock
TYPE_LOCK (struct tty_struct)->legacy_mutex

drivers/tty/tty_io.c tty_open() -> check_tty_count()

Type Parameter Key Value
PARAM_VALUE 0 tty 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->ldisc->ops 4096-ptr_max
PARAM_VALUE 0 tty->ldisc->ops->owner->refcnt.counter 0-s32max
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->next->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 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->lookup 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->open 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 0-1
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 tty->termios_rwsem.osq.tail.counter 0-s32max
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.next->prev 4096-ptr_max
PARAM_VALUE 1 routine 4919366637734699008
BUF_SIZE 0 tty (-1),1-s32max
BUF_SIZE 0 tty (-1),1-s32max
BUF_SIZE 1 routine 9
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/tty/tty_io.c tty_release() -> check_tty_count()

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 0,4096-ptr_max
PARAM_VALUE 0 tty->legacy_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tty->legacy_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 routine 3760550121517727744
BUF_SIZE 1 routine 12
DATA_SOURCE 0 tty r file_tty
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &tty->legacy_mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct tty_struct)->legacy_mutex