Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/tty/n_hdlc.c n_hdlc_tty_read() -> tty_io_nonblock()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 1 file 4096-ptr_max
DATA_SOURCE 0 tty $0
DATA_SOURCE 1 file $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &tty->ldisc_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/n_hdlc.c n_hdlc_tty_write() -> tty_io_nonblock()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 1 file 4096-ptr_max
BUF_SIZE 0 tty->write_buf (-1),1024-65536
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
DATA_SOURCE 1 file $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 tty->write_cnt 1025-u16max[c]
LOCK2 0 &tty->atomic_write_lock
LOCK2 0 &tty->ldisc_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tty_struct)->atomic_write_lock
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/n_tty.c n_tty_wait_for_input() -> tty_io_nonblock()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 1 file 4096-ptr_max
CAPPED_DATA 0 tty 1
DATA_SOURCE 0 tty $0
DATA_SOURCE 1 file $1
BIT_INFO 1 file->f_flags 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ldata->atomic_read_lock
LOCK2 0 &tty->ldisc_sem
LOCK2 0 &tty->termios_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct n_tty_data)->atomic_read_lock
TYPE_LOCK (struct tty_struct)->ldisc_sem
TYPE_LOCK (struct tty_struct)->termios_rwsem

drivers/tty/n_tty.c n_tty_write() -> tty_io_nonblock()

Type Parameter Key Value
PARAM_VALUE 0 tty 4096-ptr_max
PARAM_VALUE 1 file 4096-ptr_max
BUF_SIZE 0 tty->write_buf (-1),1024-65536
CAPPED_DATA 0 tty 1
CAPPED_DATA 0 &tty->termios_rwsem 1
DATA_SOURCE 0 tty $0
DATA_SOURCE 1 file $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 tty->write_cnt 1025-u16max[c]
LOCK2 _T->lock
LOCK2 0 &tty->atomic_write_lock
LOCK2 0 &tty->ldisc_sem
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &tty->termios_rwsem
TYPE_LOCK (struct tty_struct)->atomic_write_lock
TYPE_LOCK (struct tty_struct)->ldisc_sem