Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/tty/tty_ioctl.c __tty_perform_flush() -> (struct tty_ldisc_ops)->flush_buffer()

Type Parameter Key Value
PARAM_VALUE 0 tty 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->ops->flush_buffer 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->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
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
NOCHECK_CALL
HALF_LOCKED2 0 &tty->ldisc_sem

drivers/tty/tty_ioctl.c __tty_perform_flush() -> (struct tty_ldisc_ops)->flush_buffer()

Type Parameter Key Value
PARAM_VALUE 0 tty 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->ops->flush_buffer 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->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
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
NOCHECK_CALL
HALF_LOCKED2 0 &tty->ldisc_sem

drivers/tty/tty_ioctl.c set_termios() -> (struct tty_ldisc_ops)->flush_buffer()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->driver 4096-ptr_max
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.prev 4096-ptr_max
PARAM_VALUE 0 tty->ops 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
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->termios_rwsem 1
DATA_SOURCE 0 tty $0
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
LOCK2 0 &tty->atomic_write_lock
LOCK2 0 &tty->ldisc_sem
TYPE_LOCK (struct tty_struct)->atomic_write_lock
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_buffer.c tty_buffer_flush() -> (struct tty_ldisc_ops)->flush_buffer()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
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->chars_in_buffer 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->ioctl 0,4096-ptr_max
PARAM_VALUE 0 tty->ops->ldisc_ok 0,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_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->port->buf.lock.dep_map->name 0-255
PARAM_VALUE 0 tty->port->buf.lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 tty->port->buf.lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tty->port->buf.lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 tty->port->buf.lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 tty->port->buf.lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 tty->port->buf.lock.wait_lock.owner (-1)
PARAM_VALUE 0 tty->port->buf.lock.wait_lock.owner_cpu u32max
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
DATA_SOURCE 0 tty $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &buf->lock
HALF_LOCKED2 global &spk_mutex
HALF_LOCKED2 0 &tty->driver_data->d_lockref.lock
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->legacy_mutex
TYPE_LOCK (struct tty_bufhead)->lock

drivers/tty/tty_ldisc.c tty_ldisc_hangup() -> (struct tty_ldisc_ops)->flush_buffer()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->ctrl.session 0,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 1-u64max
PARAM_VALUE 0 tty->ldisc_sem.dep_map->name 0-255
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->chars_in_buffer 0,4096-ptr_max
PARAM_VALUE 0 tty->port 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),1-s32max
BUF_SIZE 0 tty (-1),1-s32max
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &tty->ldisc_sem
LOCK2 0 &tty->legacy_mutex
HALF_LOCKED2 0 &tty->driver_data->d_lockref.lock
TYPE_LOCK (struct tty_struct)->ldisc_sem
TYPE_LOCK (struct tty_struct)->legacy_mutex