Defined in 9 files as a function:
- arch/x86/kernel/apm_32.c, line 1433 (as a function)
- drivers/infiniband/sw/rxe/rxe_comp.c, line 357 (as a function)
- drivers/mmc/host/cavium.c, line 298 (as a function)
- drivers/mtd/tests/stresstest.c, line 65 (as a function)
- drivers/usb/gadget/function/f_mass_storage.c, line 606 (as a function)
- tools/perf/util/trace-event-read.c, line 55 (as a function)
- tools/spi/spidev_fdx.c, line 18 (as a function)
- tools/testing/selftests/bpf/prog_tests/bpf_iter.c, line 653 (as a function)
- tools/testing/selftests/powerpc/mm/subpage_prot.c, line 52 (as a function)
Referenced in 11 files:
- arch/x86/kernel/apm_32.c, line 1878
- drivers/infiniband/sw/rxe/rxe_comp.c, line 702
- drivers/mmc/host/cavium.c, line 472
- drivers/mtd/nand/raw/r852.c
- drivers/mtd/tests/stresstest.c, line 122
- drivers/scsi/qla2xxx/qla_attr.c
- drivers/usb/gadget/function/f_mass_storage.c
- tools/perf/util/trace-event-read.c
- tools/spi/spidev_fdx.c, line 155
- tools/testing/selftests/bpf/prog_tests/bpf_iter.c
- tools/testing/selftests/powerpc/mm/subpage_prot.c, line 122
Smatch caller information:
drivers/usb/gadget/function/f_mass_storage.c do_scsi_command() -> do_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | qp | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->bad_lun_okay | 0 |
| PARAM_VALUE | 0 | qp->cmnd | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->cmnd_size | 0-s32max |
| PARAM_VALUE | 0 | qp->curlun | 0,4096-ptr_max |
| PARAM_VALUE | 0 | qp->curlun->filp->f_mapping->host->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | qp->curlun->info_valid | 0 |
| PARAM_VALUE | 0 | qp->curlun->sense_data | 0 |
| PARAM_VALUE | 0 | qp->curlun->sense_data_info | 0 |
| PARAM_VALUE | 0 | qp->filesem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | qp->io_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->io_wait.head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_drain | 1-u64max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_fill | 1-u64max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_fill->state | 0-s32max |
| PARAM_VALUE | 0 | qp->running | 1 |
| PARAM_VALUE | 0 | qp->short_packet_received | 0 |
| PARAM_VALUE | 0 | qp->state | 0 |
| BUF_SIZE | 0 | qp | 128 |
| BUF_SIZE | 0 | qp | 128 |
| CAPPED_DATA | 0 | qp->cmnd_size | 1 |
| CAPPED_DATA | 0 | &qp->filesem | 1 |
| DATA_SOURCE | 0 | qp | $0 |
| LOCK2 | 0 | &qp->filesem | |
| TYPE_LOCK | (struct fsg_common)->filesem |
drivers/usb/gadget/function/f_mass_storage.c do_scsi_command() -> do_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | qp | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->bad_lun_okay | 0 |
| PARAM_VALUE | 0 | qp->cmnd | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->cmnd_size | 0-s32max |
| PARAM_VALUE | 0 | qp->curlun | 0,4096-ptr_max |
| PARAM_VALUE | 0 | qp->curlun->filp->f_mapping->host->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | qp->curlun->info_valid | 0 |
| PARAM_VALUE | 0 | qp->curlun->sense_data | 0 |
| PARAM_VALUE | 0 | qp->curlun->sense_data_info | 0 |
| PARAM_VALUE | 0 | qp->filesem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | qp->io_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->io_wait.head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_drain | 1-u64max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_fill | 1-u64max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_fill->state | 0-s32max |
| PARAM_VALUE | 0 | qp->running | 1 |
| PARAM_VALUE | 0 | qp->short_packet_received | 0 |
| PARAM_VALUE | 0 | qp->state | 0 |
| BUF_SIZE | 0 | qp | 128 |
| BUF_SIZE | 0 | qp | 128 |
| CAPPED_DATA | 0 | qp->cmnd_size | 1 |
| CAPPED_DATA | 0 | &qp->filesem | 1 |
| DATA_SOURCE | 0 | qp | $0 |
| LOCK2 | 0 | &qp->filesem | |
| TYPE_LOCK | (struct fsg_common)->filesem |
drivers/usb/gadget/function/f_mass_storage.c do_scsi_command() -> do_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | qp | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->bad_lun_okay | 0 |
| PARAM_VALUE | 0 | qp->cmnd | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->cmnd_size | 0-s32max |
| PARAM_VALUE | 0 | qp->curlun | 0,4096-ptr_max |
| PARAM_VALUE | 0 | qp->curlun->filp->f_mapping->host->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | qp->curlun->info_valid | 0 |
| PARAM_VALUE | 0 | qp->curlun->sense_data | 0 |
| PARAM_VALUE | 0 | qp->curlun->sense_data_info | 0 |
| PARAM_VALUE | 0 | qp->filesem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | qp->io_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->io_wait.head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_drain | 1-u64max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_fill | 1-u64max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_fill->state | 0-s32max |
| PARAM_VALUE | 0 | qp->running | 1 |
| PARAM_VALUE | 0 | qp->short_packet_received | 0 |
| PARAM_VALUE | 0 | qp->state | 0 |
| BUF_SIZE | 0 | qp | 128 |
| BUF_SIZE | 0 | qp | 128 |
| CAPPED_DATA | 0 | qp->cmnd_size | 1 |
| CAPPED_DATA | 0 | &qp->filesem | 1 |
| DATA_SOURCE | 0 | qp | $0 |
| LOCK2 | 0 | &qp->filesem | |
| TYPE_LOCK | (struct fsg_common)->filesem |
drivers/usb/gadget/function/f_mass_storage.c do_scsi_command() -> do_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | qp | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->bad_lun_okay | 0 |
| PARAM_VALUE | 0 | qp->cmnd | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->cmnd_size | 0-s32max |
| PARAM_VALUE | 0 | qp->curlun | 0,4096-ptr_max |
| PARAM_VALUE | 0 | qp->curlun->filp->f_mapping->host->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | qp->curlun->info_valid | 0 |
| PARAM_VALUE | 0 | qp->curlun->sense_data | 0 |
| PARAM_VALUE | 0 | qp->curlun->sense_data_info | 0 |
| PARAM_VALUE | 0 | qp->filesem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | qp->filesem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | qp->filesem.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | qp->io_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->io_wait.head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_drain | 1-u64max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_fill | 1-u64max |
| PARAM_VALUE | 0 | qp->next_buffhd_to_fill->state | 0-s32max |
| PARAM_VALUE | 0 | qp->running | 1 |
| PARAM_VALUE | 0 | qp->short_packet_received | 0 |
| PARAM_VALUE | 0 | qp->state | 0 |
| BUF_SIZE | 0 | qp | 128 |
| BUF_SIZE | 0 | qp | 128 |
| CAPPED_DATA | 0 | qp->cmnd_size | 1 |
| CAPPED_DATA | 0 | &qp->filesem | 1 |
| DATA_SOURCE | 0 | qp | $0 |
| LOCK2 | 0 | &qp->filesem | |
| TYPE_LOCK | (struct fsg_common)->filesem |
drivers/infiniband/sw/rxe/rxe_comp.c rxe_completer() -> do_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | qp | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->attr.qp_state | 1-5,7-u32max |
| PARAM_VALUE | 0 | qp->attr.sq_draining | 0 |
| PARAM_VALUE | 0 | qp->comp.opcode | s32min-(-2),0-s32max |
| PARAM_VALUE | 0 | qp->comp.retry_cnt | 0-255 |
| PARAM_VALUE | 0 | qp->comp.rnr_retry | 0-255 |
| PARAM_VALUE | 0 | qp->comp.started_retry | 0 |
| PARAM_VALUE | 0 | qp->comp.timeout | 0 |
| PARAM_VALUE | 0 | qp->comp.timeout_retry | 0-1 |
| PARAM_VALUE | 0 | qp->elem.ref_cnt.refcount.refs.counter | (-1073741824),0-s32max |
| PARAM_VALUE | 0 | qp->ibqp.qp_context->device->qp_open_list_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->ibqp.qp_context->first_error | s32min-(-1),1-s32max |
| PARAM_VALUE | 0 | qp->ibqp.qp_context->ib_cm.cm_id->lap_state | 1 |
| PARAM_VALUE | 0 | qp->ibqp.qp_context->ib_cm.cm_id->state | 0-5,7-8,10-4294967295 |
| PARAM_VALUE | 0 | qp->ibqp.qp_context->idle.keepalive | 0 |
| PARAM_VALUE | 0 | qp->ibqp.qp_context->status | 0-4294967295 |
| PARAM_VALUE | 0 | qp->need_req_skb | 0-1 |
| PARAM_VALUE | 0 | qp->recv_task.state | s32min-(-1),1-s32max |
| PARAM_VALUE | 0 | qp->recv_task.work.entry.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->req.again | 0 |
| PARAM_VALUE | 0 | qp->req.need_rd_atomic | 0-1 |
| PARAM_VALUE | 0 | qp->req.need_retry | 0 |
| PARAM_VALUE | 0 | qp->req.noack_pkts | 0 |
| PARAM_VALUE | 0 | qp->req.opcode | (-22),(-1)-12,19-20,22-23,28-29,32-43,100-101 |
| PARAM_VALUE | 0 | qp->req.wait_fence | 0 |
| PARAM_VALUE | 0 | qp->scq->cq_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi->thread->delays->lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->delays->blkio_count | 0-4294967295 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->delays->blkio_delay_max | 0-s64max |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->delays->blkio_delay_max_ts.tv_nsec | 0-999999999 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->delays->blkio_delay_min | 0-s64max |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->delays->lock.owner | (-1) |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->delays->lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->on_rq | 0-1,3-255 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->pushable_dl_tasks.__rb_parent_color | 1 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->rseq.event.ids_changed | 1 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->sched_migrated | 1 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->se.avg.util_avg | 0-4294967295 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->se.cfs_rq->removed.lock.owner | (-1) |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->se.cfs_rq->removed.lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->se.cfs_rq->rq->curr->mm->sc_stat.cpu | (-1) |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->se.cfs_rq->rq->curr->pref_llc_queued | 0-1 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->se.cfs_rq->rq->donor->__state | 0,512 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->se.cfs_rq->rq->donor->sched_migrated | 1 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->se.cfs_rq->rq->donor->wake_cpu | 0-s32max |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->recv_napi.thread->wake_cpu | 0-s32max |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi->thread->delays->lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->delays->blkio_count | 0-4294967295 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->delays->blkio_delay_max | 0-s64max |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->delays->blkio_delay_max_ts.tv_nsec | 0-999999999 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->delays->blkio_delay_min | 0-s64max |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->delays->lock.owner | (-1) |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->delays->lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->on_rq | 0-1,3-255 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->pushable_dl_tasks.__rb_parent_color | 1 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->rseq.event.ids_changed | 1 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->sched_migrated | 1 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->se.avg.util_avg | 0-4294967295 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->se.cfs_rq->removed.lock.owner | (-1) |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->se.cfs_rq->removed.lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->se.cfs_rq->rq->curr->mm->sc_stat.cpu | (-1) |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->se.cfs_rq->rq->curr->pref_llc_queued | 0-1 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->se.cfs_rq->rq->donor->__state | 0,512 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->se.cfs_rq->rq->donor->sched_migrated | 1 |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->se.cfs_rq->rq->donor->wake_cpu | 0-s32max |
| PARAM_VALUE | 0 | qp->scq->ibcq.cq_context->send_napi.thread->wake_cpu | 0-s32max |
| PARAM_VALUE | 0 | qp->scq->ibcq.iop.list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->send_task.state | s32min-(-1),1-s32max |
| PARAM_VALUE | 0 | qp->send_task.work.entry.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->state_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | qp->valid | 1-u32max |
| PARAM_VALUE | 1 | pkt->hdr | 4096-ptr_max |
| PARAM_VALUE | 1 | pkt->opcode | 13-16 |
| PARAM_VALUE | 2 | wqe | 0 |
| PARAM_VALUE | 2 | wqe->has_rd_atomic | 0 |
| PARAM_VALUE | 2 | wqe->wr.opcode | 4,11,14 |
| BUF_SIZE | 1 | pkt | 0 |
| BUF_SIZE | 2 | wqe | 0 |
| DATA_SOURCE | 0 | qp | $0 |
| FUZZY_MAX | 0 | qp->comp.timeout_retry | 1 |
| BIT_INFO | 1 | pkt | 0x0,0x0 |
| BIT_INFO | 2 | wqe->state | 0x0,0xffffffff |
| BIT_INFO | 2 | wqe->status | 0x0,0xffffffff |
| HARD_MAX | 0 | qp->comp.timeout_retry | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | qp->attr.cur_qp_state | 0-6 |
| USER_DATA | 0 | qp->attr.qp_state | 1-5 |
drivers/mmc/host/cavium.c cvm_mmc_interrupt() -> do_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | qp | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->current_req | 4096-ptr_max |
| PARAM_VALUE | 0 | qp->current_req->data | 1-u64max |
| PARAM_VALUE | 0 | qp->dma_active | 0 |
| PARAM_VALUE | 1 | pkt | 4096-ptr_max |
| PARAM_VALUE | 1 | pkt->data | 1-u64max |
| PARAM_VALUE | 2 | wqe | 0,8388608 |
| DATA_SOURCE | 0 | qp | $1 |
| BIT_INFO | 2 | wqe | 0x0,0x800000 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 2 | wqe | 0,8388608 |
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | 0 | &qp->irq_handler_lock |
drivers/mtd/tests/stresstest.c do_operation() -> do_read()
| Type | Parameter | Key | Value |
|---|