Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/tty/tty_io.c file_tty_write() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
DATA_SOURCE 0 ld r tty_ldisc_ref_wait
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_io.c tiocgetd() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
DATA_SOURCE 0 ld r tty_ldisc_ref_wait
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_io.c tiocsti() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
DATA_SOURCE 0 ld r tty_ldisc_ref_wait
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_io.c tty_compat_ioctl() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
DATA_SOURCE 0 ld r tty_ldisc_ref_wait
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_io.c tty_ioctl() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
DATA_SOURCE 0 ld r tty_ldisc_ref_wait
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_io.c tty_poll() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
DATA_SOURCE 0 ld r tty_ldisc_ref_wait
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_io.c tty_read() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
PARAM_VALUE 0 ld->ops->read 0,4096-ptr_max
DATA_SOURCE 0 ld r tty_ldisc_ref_wait
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_io.c tty_reopen() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 1-u64max
DATA_SOURCE 0 ld r tty_ldisc_ref_wait
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
LOCK2 &tty->legacy_mutex
TYPE_LOCK (struct tty_struct)->ldisc_sem
TYPE_LOCK (struct tty_struct)->legacy_mutex

drivers/tty/tty_io.c tty_wakeup() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
DATA_SOURCE 0 ld r tty_ldisc_ref
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &hp->lock
HALF_LOCKED2 &port->port_lock
HALF_LOCKED2 &port->slock
HALF_LOCKED2 &tty->flow.lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 flags
HALF_LOCKED2 global &moxa_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_port.c tty_port_default_lookahead_buf() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
DATA_SOURCE 0 ld r tty_ldisc_ref
NOCHECK_CALL
LOCK2 &buf->lock
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tty_bufhead)->lock
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_port.c tty_port_default_receive_buf() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
PARAM_VALUE 0 ld->tty->disc_data->no_room 0-1
PARAM_VALUE 0 ld->tty->driver_data->MCR 0-255
PARAM_VALUE 0 ld->tty->driver_data->ctrlout 0-255
PARAM_VALUE 0 ld->tty->driver_data->dlc->v24_sig 0-255
PARAM_VALUE 0 ld->tty->driver_data->func->card->host->claim_cnt s32min-s32max
PARAM_VALUE 0 ld->tty->driver_data->func->card->host->claimed 0-1
PARAM_VALUE 0 ld->tty->driver_data->func_lock.dep_map->name 0-255
PARAM_VALUE 0 ld->tty->driver_data->func_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ld->tty->driver_data->func_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ld->tty->driver_data->func_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ld->tty->driver_data->func_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ld->tty->driver_data->func_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 ld->tty->driver_data->func_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 ld->tty->driver_data->gsm->cretries s32min-s32max
PARAM_VALUE 0 ld->tty->driver_data->gsm->kick_timer.flags 0-4294967295
PARAM_VALUE 0 ld->tty->driver_data->gsm->pending_cmd->cmd 0,113
PARAM_VALUE 0 ld->tty->driver_data->gsm->pending_cmd->done 0-1
PARAM_VALUE 0 ld->tty->driver_data->gsm->pending_cmd->error (-110),(-95),0
PARAM_VALUE 0 ld->tty->driver_data->gsm->pending_cmd->len 0,2-3
PARAM_VALUE 0 ld->tty->driver_data->gsm->t2_timer.flags 0-4294967295
PARAM_VALUE 0 ld->tty->driver_data->gsm->tx_bytes 0-4294967295
PARAM_VALUE 0 ld->tty->driver_data->gsm->tx_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ld->tty->driver_data->ier 0-255
PARAM_VALUE 0 ld->tty->driver_data->mctrl 0-4294967295
PARAM_VALUE 0 ld->tty->driver_data->modem_tx 0-4294967295
PARAM_VALUE 0 ld->tty->driver_data->port_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ld->tty->driver_data->push.cpu s32min-s32max
PARAM_VALUE 0 ld->tty->driver_data->push.timer.flags 0-4294967295
PARAM_VALUE 0 ld->tty->driver_data->throttled 0-1
PARAM_VALUE 0 ld->tty->driver_data->uart_port->mctrl 0-4294967295
PARAM_VALUE 0 ld->tty->driver_data->uart_port->private_data->throttled 0-1
PARAM_VALUE 0 ld->tty->driver_data->uart_port->state->refcount.counter s32min-s32max
PARAM_VALUE 0 ld->tty->driver_data->uart_port->x_char 0-255
PARAM_VALUE 0 ld->tty->driver_data->write_fifo.kfifo.in 0-4294967295
PARAM_VALUE 0 ld->tty->driver_data->write_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ld->tty->driver_data->x_char 0-255
PARAM_VALUE 0 ld->tty->flow_change 0
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->__state 0,512
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->core_node.__rb_parent_color 1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->delays->blkio_count 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->delays->lock.owner_cpu 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.dl_defer 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.dl_defer_armed 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.dl_defer_running 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.dl_non_contending 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.dl_overrun 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.dl_server 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.dl_throttled 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.dl_yielded 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.flags 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.inactive_timer.is_hard 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.inactive_timer.is_lazy 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.inactive_timer.is_queued 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.inactive_timer.is_soft 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->active_balance s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->clock_update_flags 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->core_enabled 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->core_forceidle_count 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->core_forceidle_seq 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->core_pick_seq 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->core_sched_seq 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->core_task_seq 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->cpu s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->has_blocked_load 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->hrtick_sched 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->idle_balance 0-255
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->membarrier_state s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->nohz_idle_balance 0-255
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->nohz_tick_stopped 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->nr_llc_running 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->nr_numa_running 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->nr_pinned 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->nr_pref_llc_running 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->nr_preferred_running 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->nr_running 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->numa_migrate_on 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->online s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->push_busy 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->push_cpu s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->sched_count 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->sched_goidle 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->ticks_without_resched s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->ttwu_count 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->ttwu_local 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->ttwu_pending 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->uclamp_flags 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->dl.rq->yld_count 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->mm->mm_cid.max_cids 0-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->mm->mm_cid.nr_cpus_allowed 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->mm->mm_cid.pcpu_thrs 1-1073741823
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->mm->mm_cid.update_deferred 1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->nr_cpus_allowed s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->numa_scan_period 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->on_rq 0-1,3-255
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->psi_flags 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->pushable_tasks.prio s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->recent_used_cpu s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->rseq.event.ids_changed 1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->rt.on_list 0-u16max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->rt.on_rq 0-u16max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->rt.time_slice 0-4294967295
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->sched_contributes_to_load 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->sched_migrated 1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->sched_remote_wakeup 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->sched_task_group->idle s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->se.cfs_rq->propagate 1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->se.cfs_rq->removed.lock.owner (-1)
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->se.cfs_rq->rq->donor->__state 0,512
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->se.cfs_rq->rq->donor->wake_cpu 0-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->throttled 0-1
PARAM_VALUE 0 ld->tty->link->disc_data->proto_lock.writer.task->wake_cpu 0-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->refcnt.refs.counter s32min-s32max
PARAM_VALUE 0 ld->tty->link->disc_data->serio->dev.driver_data->xmit.tail 0-255
PARAM_VALUE 0 ld->tty->link->ldisc_sem.read_wait.next 4096-ptr_max
PARAM_VALUE 0 ld->tty->link->ldisc_sem.read_wait.next->next 4096-ptr_max
PARAM_VALUE 0 ld->tty->link->ldisc_sem.read_wait.prev 4096-ptr_max
PARAM_VALUE 0 ld->tty->link->ldisc_sem.read_wait.prev->next 4096-ptr_max
PARAM_VALUE 0 ld->tty->link->ldisc_sem.read_wait.prev->prev 4096-ptr_max
PARAM_VALUE 0 ld->tty->port->buf.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 ld->tty->receive_room 0-s32max
PARAM_VALUE 0 ld->tty->termios_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ld->tty->termios_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 *ld->tty->driver_data->write_fifo->kfifo->data (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 *ld->tty->driver_data->write_fifo.kfifo->data (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 *ld->tty->link->disc_data->proto_lock.read_count 0-4294967295
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
DATA_SOURCE 0 ld r tty_ldisc_ref
NOCHECK_CALL
LOCK2 &buf->lock
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tty_bufhead)->lock
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/serial/serial_core.c uart_handle_dcd_change() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
DATA_SOURCE 0 ld r tty_ldisc_ref
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &atmel_port->lock_suspended
HALF_LOCKED2 &icom_port->uart_port.lock
HALF_LOCKED2 &port->lock
HALF_LOCKED2 &s->port.lock
HALF_LOCKED2 &sport->port.lock
HALF_LOCKED2 &u->lock
HALF_LOCKED2 &uport->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 lock_flags
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_ioctl.c set_termios() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 1-u64max
PARAM_VALUE 0 ld->ops 4096-ptr_max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
DATA_SOURCE 0 ld r tty_ldisc_ref
NOCHECK_CALL
LOCK2 &tty->atomic_write_lock
LOCK2 &tty->ldisc_sem
LOCK2 &tty->ldisc_sem
TYPE_LOCK (struct tty_struct)->atomic_write_lock
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_ioctl.c tty_perform_flush() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 1-u64max
DATA_SOURCE 0 ld r tty_ldisc_ref_wait
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_ioctl.c tty_set_termios() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
DATA_SOURCE 0 ld r tty_ldisc_ref
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
LOCK2 &tty->termios_rwsem
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 global &spk_mutex
TYPE_LOCK (struct tty_struct)->ldisc_sem
TYPE_LOCK (struct tty_struct)->termios_rwsem

drivers/usb/serial/generic.c usb_serial_handle_dcd_change() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
DATA_SOURCE 0 ld r tty_ldisc_ref
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &priv->lock
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/usb/class/cdc-acm.c acm_process_notification() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
DATA_SOURCE 0 ld r tty_ldisc_ref
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &acm->port.tty->ldisc_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/vt/selection.c paste_selection() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 1-u64max
PARAM_VALUE 0 ld->tty->termios_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ld->tty->termios_rwsem.first_waiter->type 0-1
DATA_SOURCE 0 ld r tty_ldisc_ref_wait
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_ldisc.c tty_ldisc_flush() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
DATA_SOURCE 0 ld r tty_ldisc_ref
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
HALF_LOCKED2 &tty->legacy_mutex
HALF_LOCKED2 global &spk_mutex
TYPE_LOCK (struct tty_struct)->ldisc_sem

drivers/tty/tty_ldisc.c tty_ldisc_hangup() -> tty_ldisc_deref()

Type Parameter Key Value
PARAM_VALUE 0 ld 4096-ptr_max
PARAM_VALUE 0 ld->ops 4096-ptr_max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
BUF_SIZE 0 ld (-1),4,16,24,64,168-s32max
DATA_SOURCE 0 ld r tty_ldisc_ref
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tty->ldisc_sem
LOCK2 &tty->legacy_mutex
HALF_LOCKED2 &tty->driver_data->d_lockref.lock
TYPE_LOCK (struct tty_struct)->ldisc_sem
TYPE_LOCK (struct tty_struct)->legacy_mutex