Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/serial/ch341.c ch341_open() -> ch341_set_termios()

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 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->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
PARAM_VALUE 1 port 4096-ptr_max
PARAM_VALUE 1 port->serial 4096-ptr_max
PARAM_VALUE 1 port->serial->disc_mutex.dep_map->name 0-255
PARAM_VALUE 1 port->serial->disc_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 port->serial->disc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 port->serial->disc_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 port->serial->disc_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 port->serial->disc_mutex.wait_lock.owner (-1)
PARAM_VALUE 1 port->serial->disc_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 port->serial->disconnected 0
PARAM_VALUE 1 port->serial->interface 4096-ptr_max
PARAM_VALUE 1 port->serial->interface->dev.power.request 0-4
PARAM_VALUE 1 port->serial->interface->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 1 port->serial->interface->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 port->serial->type 4096-ptr_max
PARAM_VALUE 2 old_termios 0
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
DATA_SOURCE 0 tty $0
DATA_SOURCE 1 port $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &serial->disc_mutex
LOCK2 _T->lock
HALF_LOCKED2 &tty->legacy_mutex
HALF_LOCKED2 global &spk_mutex
HALF_LOCKED2 0 &tty->legacy_mutex
TYPE_LOCK (struct usb_serial)->disc_mutex

drivers/usb/serial/usb-serial.c serial_set_termios() -> (struct usb_serial_driver)->set_termios()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 0 tty->driver 4096-ptr_max
PARAM_VALUE 0 tty->driver_data 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
PARAM_VALUE 0 tty->ops->set_termios 4096-ptr_max
PARAM_VALUE 0 tty->ops->wait_until_sent 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 tty->termios_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 port 4096-ptr_max
PARAM_VALUE 1 port->serial 4096-ptr_max
PARAM_VALUE 1 port->serial->type 4096-ptr_max
PARAM_VALUE 1 port->serial->type->set_termios 4096-ptr_max
PARAM_VALUE 2 old_termios 1767035511140073472,3137504346029961216
BUF_SIZE 0 tty s32min,(-1),1-s32max
BUF_SIZE 0 tty s32min,(-1),1-s32max
BUF_SIZE 1 port s32min-(-2),1-s32max
BUF_SIZE 1 port s32min-(-2),1-s32max
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
DATA_SOURCE 2 old_termios $1
CONTAINER 1 -368-8-0+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tty->termios.c_cflag 0-u32max[c]
USER_DATA 0 tty->termios.c_iflag 0-u32max[c]
USER_DATA 0 tty->termios.c_ispeed 0-u32max
USER_DATA 0 tty->termios.c_lflag 0-u32max[c]
USER_DATA 0 tty->termios.c_line 0-255
USER_DATA 0 tty->termios.c_oflag 0-u32max[c]
USER_DATA 0 tty->termios.c_ospeed 0-u32max
LOCK2 0 &tty->termios_rwsem
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->atomic_write_lock
HALF_LOCKED2 0 &tty->ldisc_sem
HALF_LOCKED2 0 &tty->legacy_mutex
TYPE_LOCK (struct tty_struct)->termios_rwsem

drivers/usb/serial/console.c usb_console_setup() -> (struct usb_serial_driver)->set_termios()

Type Parameter Key Value
PARAM_VALUE 0 tty 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->index s16min-s16max
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->ops 4925157529898369024
PARAM_VALUE 0 tty->termios.c_ospeed 1-u32max
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 1 port 4096-ptr_max
PARAM_VALUE 1 port->port.tty 0,4096-ptr_max
PARAM_VALUE 1 port->serial 4096-ptr_max
PARAM_VALUE 1 port->serial->disc_mutex.dep_map->name 0-255
PARAM_VALUE 1 port->serial->disc_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 port->serial->disc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 port->serial->disc_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 1 port->serial->disc_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 port->serial->disc_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 port->serial->disc_mutex.wait_lock.owner (-1)
PARAM_VALUE 1 port->serial->disc_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 port->serial->disconnected 0
PARAM_VALUE 1 port->serial->interface 4096-ptr_max
PARAM_VALUE 1 port->serial->interface->dev.bus 0,4096-ptr_max
PARAM_VALUE 1 port->serial->interface->dev.class 0,4096-ptr_max
PARAM_VALUE 1 port->serial->interface->dev.power.request 0-4
PARAM_VALUE 1 port->serial->interface->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 1 port->serial->interface->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 port->serial->interface->dev.type 0,4096-ptr_max
PARAM_VALUE 1 port->serial->type 4096-ptr_max
PARAM_VALUE 1 port->serial->type->set_termios 4096-ptr_max
PARAM_VALUE 2 old_termios 7752371099641409536
BUF_SIZE 0 tty 1816
BUF_SIZE 0 tty->ops 296
CAPPED_DATA 0 tty->index 1
DATA_SOURCE 0 tty r _kzalloc_noprof
DATA_SOURCE 1 port r usb_serial_port_get_by_minor
NOSPEC 0 tty->index
MEM_ZERO 2 old_termios
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tty->index 0-s16max[c]
USER_DATA 0 tty->termios.c_cflag 0,16-u32max[c]
USER_DATA 0 tty->termios.c_ispeed 0-u32max
USER_DATA 0 tty->termios.c_ospeed 1-u32max
USER_DATA 1 port->port.tty->index 0-s16max[c]
USER_DATA 1 port->port.tty->termios.c_ispeed 0-u32max
USER_DATA 1 port->port.tty->termios.c_ospeed 0-u32max
LOCK2 &serial->disc_mutex
LOCK2 global &console_mutex
HALF_LOCKED2 &_T->lock->lock
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 _T->flags
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &console_sem
HALF_LOCKED2 global &dynamic_netconsole_mutex
HALF_LOCKED2 global &goldfish_tty_lock
HALF_LOCKED2 global &psinfo_lock
HALF_LOCKED2 irq