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_hangup() -> __tty_fasync()

Type Parameter Key Value
PARAM_VALUE 0 fd (-1)
PARAM_VALUE 1 filp 4096-ptr_max
PARAM_VALUE 1 filp->f_op 4096-ptr_max
PARAM_VALUE 1 filp->f_op->write_iter 8395054250535100416
PARAM_VALUE 2 on 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->files_lock
LOCK2 &tty->legacy_mutex
TYPE_LOCK (struct tty_struct)->files_lock
TYPE_LOCK (struct tty_struct)->legacy_mutex

drivers/tty/tty_io.c tty_fasync() -> __tty_fasync()

Type Parameter Key Value
PARAM_VALUE 1 filp 4096-ptr_max
PARAM_VALUE 1 filp->f_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 filp->f_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 filp->f_mapping->host->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 filp->f_mapping->host->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_sb->s_cop->inode_info_offs 1632,1640,1720,1808,1816,2632,2640,2648,2704,2712
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 1 filp->f_path.dentry->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 1 filp->f_path.dentry->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 1 filp->f_path.dentry->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 1 filp->f_path.dentry->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 1 filp->f_path.dentry->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 1 filp->f_path.mnt->mnt_sb->s_export_op->flags 0,127
PARAM_VALUE 1 filp->private_data 4096-ptr_max
BUF_SIZE 1 filp (-1)-s32max
BUF_SIZE 1 filp (-1)-s32max
BUF_SIZE 1 filp->private_data (-1),26
CAPPED_DATA 1 filp 1
DATA_SOURCE 0 fd $0
DATA_SOURCE 1 filp $1
DATA_SOURCE 2 on $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fd s32min-s32max
USER_DATA 2 on s32min-s32max
NO_OVERFLOW_SIMPLE 1 filp->f_inode->i_blkbits
NO_OVERFLOW_SIMPLE 1 filp->f_inode->i_ino
NO_OVERFLOW_SIMPLE 1 filp->f_inode->i_linklen
NO_OVERFLOW_SIMPLE 1 filp->f_inode->i_size
NO_OVERFLOW_SIMPLE 1 filp->f_path.d_inode->i_size
NO_OVERFLOW_SIMPLE 1 filp->f_path.dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 1 filp->f_path.moved->d_inode->i_size
LOCK2 &tty->legacy_mutex
TYPE_LOCK (struct tty_struct)->legacy_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 fd (-1)
PARAM_VALUE 1 filp 4096-ptr_max
PARAM_VALUE 1 filp->f_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 filp->f_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 filp->f_mapping->host->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 filp->f_mapping->host->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_sb->s_cop->inode_info_offs 1632,1640,1720,1808,1816,2632,2640,2648,2704,2712
PARAM_VALUE 1 filp->f_path.dentry->d_inode->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 1 filp->f_path.dentry->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 1 filp->f_path.dentry->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 1 filp->f_path.dentry->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 1 filp->f_path.dentry->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 1 filp->f_path.dentry->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 1 filp->f_path.dentry->d_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 1 filp->f_path.dentry->d_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 1 filp->f_path.dentry->d_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 1 filp->f_path.mnt->mnt_sb->s_export_op->flags 0,127
PARAM_VALUE 1 filp->private_data 4096-ptr_max
PARAM_VALUE 2 on 0
BUF_SIZE 1 filp (-1)-s32max
BUF_SIZE 1 filp (-1)-s32max
BUF_SIZE 1 filp->__f_path.dentry (-1)-s32max
BUF_SIZE 1 filp->f_op (-1),272
BUF_SIZE 1 filp->private_data (-1),26
CAPPED_DATA 1 filp 1
DATA_SOURCE 1 filp $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 filp->__f_path.dentry->__d_name.hash 0-u32max[c]
USER_DATA 1 filp->f_flags 0-u32max
USER_DATA 1 filp->f_mode 0-u32max[c]
NO_OVERFLOW_SIMPLE 1 filp->f_inode->i_blkbits
NO_OVERFLOW_SIMPLE 1 filp->f_inode->i_ino
NO_OVERFLOW_SIMPLE 1 filp->f_inode->i_linklen
NO_OVERFLOW_SIMPLE 1 filp->f_inode->i_size
NO_OVERFLOW_SIMPLE 1 filp->f_path.d_inode->i_size
NO_OVERFLOW_SIMPLE 1 filp->f_path.dentry->d_inode->i_blkbits
NO_OVERFLOW_SIMPLE 1 filp->f_path.dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 1 filp->f_path.moved->d_inode->i_size
USER_PTR 1 filp->__f_path.dentry->__d_name.name
LOCK2 &tty->legacy_mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct tty_struct)->legacy_mutex