Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/usb/storage/cypress_atacb.c cypress_atacb_passthrough() -> usb_stor_transparent_scsi_command()

Type Parameter Key Value
PARAM_VALUE 0 srb 4096-ptr_max
PARAM_VALUE 0 srb->cmnd 4096-ptr_max
PARAM_VALUE 1 us 4096-ptr_max
PARAM_VALUE 1 us->pusb_dev 4096-ptr_max
PARAM_VALUE 1 us->pusb_dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 us->pusb_intf->dev.power.wakeirq->status 0-4294967295
BUF_SIZE 1 us (-1),64,128,280,1024
BUF_SIZE 1 us (-1),64,128,280,1024
DATA_SOURCE 0 srb $0
DATA_SOURCE 1 us $1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 srb->sdb.table.sgl->length
NO_OVERFLOW_SIMPLE 1 us->current_sg.count
NO_OVERFLOW_SIMPLE 1 us->current_sg.entries
NO_OVERFLOW_SIMPLE 1 us->current_sg.urbs
NO_OVERFLOW_SIMPLE 1 us->current_urb->num_mapped_sgs
NO_OVERFLOW_SIMPLE 1 us->current_urb->setup_dma
NO_OVERFLOW_SIMPLE 1 us->current_urb->sg->length
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_buffer
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_buffer_length
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_dma
NO_OVERFLOW_SIMPLE 1 us->pusb_dev->bos
HALF_LOCKED2 1 &us->dev_mutex

drivers/usb/storage/cypress_atacb.c cypress_atacb_passthrough() -> usb_stor_transparent_scsi_command()

Type Parameter Key Value
PARAM_VALUE 0 srb 4096-ptr_max
PARAM_VALUE 0 srb->cmd_len 16
PARAM_VALUE 0 srb->cmnd 4096-ptr_max
PARAM_VALUE 1 us 4096-ptr_max
PARAM_VALUE 1 us->pusb_dev 4096-ptr_max
PARAM_VALUE 1 us->pusb_dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 us->pusb_intf->dev.power.wakeirq->status 0-4294967295
BUF_SIZE 1 us (-1),64,128,280,1024
BUF_SIZE 1 us (-1),64,128,280,1024
DATA_SOURCE 0 srb $0
DATA_SOURCE 1 us $1
MEM_ZERO 0 srb->cmnd
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 srb->sdb.table.sgl->length
NO_OVERFLOW_SIMPLE 1 us->current_sg.count
NO_OVERFLOW_SIMPLE 1 us->current_sg.entries
NO_OVERFLOW_SIMPLE 1 us->current_sg.urbs
NO_OVERFLOW_SIMPLE 1 us->current_urb->num_mapped_sgs
NO_OVERFLOW_SIMPLE 1 us->current_urb->setup_dma
NO_OVERFLOW_SIMPLE 1 us->current_urb->sg->length
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_buffer
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_buffer_length
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_dma
NO_OVERFLOW_SIMPLE 1 us->pusb_dev->bos
HALF_LOCKED2 1 &us->dev_mutex

drivers/usb/storage/cypress_atacb.c cypress_atacb_passthrough() -> usb_stor_transparent_scsi_command()

Type Parameter Key Value
PARAM_VALUE 0 srb 4096-ptr_max
PARAM_VALUE 0 srb->cmd_len 16
PARAM_VALUE 0 srb->cmnd 4096-ptr_max
PARAM_VALUE 0 srb->device 4096-ptr_max
PARAM_VALUE 0 srb->eh_eflags 0
PARAM_VALUE 0 srb->prot_op 0
PARAM_VALUE 0 srb->resid_len 0
PARAM_VALUE 0 srb->result 0
PARAM_VALUE 0 srb->sc_data_direction 2-3
PARAM_VALUE 0 srb->sdb.length 0,8,18,96
PARAM_VALUE 0 srb->sdb.table.nents 0-1
PARAM_VALUE 0 srb->sdb.table.orig_nents 0-1
PARAM_VALUE 0 srb->sdb.table.sgl 0,4096-ptr_max
PARAM_VALUE 0 srb->sdb.table.sgl->dma_address 0
PARAM_VALUE 0 srb->sdb.table.sgl->dma_flags 0
PARAM_VALUE 0 srb->sdb.table.sgl->dma_length 0
PARAM_VALUE 0 srb->sdb.table.sgl->offset 0-4095
PARAM_VALUE 0 srb->underflow 0
PARAM_VALUE 0 *srb->cmnd 0-255
PARAM_VALUE 1 us 4096-ptr_max
PARAM_VALUE 1 us->dev_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 1 us->dev_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 1 us->dev_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 1 us->dev_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 1 us->dev_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 1 us->dev_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 us->pusb_dev 4096-ptr_max
PARAM_VALUE 1 us->pusb_dev->dev.power.runtime_status 0,2
PARAM_VALUE 1 us->pusb_dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 us->pusb_dev->ep0.enabled 1
PARAM_VALUE 1 us->pusb_dev->have_langid 1
PARAM_VALUE 1 us->pusb_dev->slot_id s32min-(-1),1-s32max
PARAM_VALUE 1 us->pusb_dev->string_langid (-1)-u16max
PARAM_VALUE 1 us->pusb_dev->u1_params.timeout 0-127,255
PARAM_VALUE 1 us->pusb_dev->u2_params.timeout 0-255
PARAM_VALUE 1 us->pusb_dev->usb2_hw_lpm_enabled 0
PARAM_VALUE 1 us->pusb_intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 us->transport 4096-ptr_max
PARAM_VALUE 1 *us->pusb_dev->toggle 0-4294967295
PARAM_VALUE 1 *us->pusb_dev->tt->hcpriv (-4611686018427387904)-4611686018427387903
BUF_SIZE 1 us (-1),64,128,280,1024
BUF_SIZE 1 us (-1),64,128,280,1024
DATA_SOURCE 0 srb $0
DATA_SOURCE 1 us $1
MEM_ZERO 0 srb->cmnd
MEM_ZERO 0 srb->sense_buffer
MEM_ZERO 0 &srb->sdb
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 srb->sdb.table.sgl->length
NO_OVERFLOW_SIMPLE 1 us->current_sg.count
NO_OVERFLOW_SIMPLE 1 us->current_sg.entries
NO_OVERFLOW_SIMPLE 1 us->current_sg.urbs
NO_OVERFLOW_SIMPLE 1 us->current_urb->num_mapped_sgs
NO_OVERFLOW_SIMPLE 1 us->current_urb->setup_dma
NO_OVERFLOW_SIMPLE 1 us->current_urb->sg->length
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_buffer
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_buffer_length
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_dma
NO_OVERFLOW_SIMPLE 1 us->pusb_dev->bos
HALF_LOCKED2 1 &us->dev_mutex

drivers/usb/storage/usb.c usb_stor_control_thread() -> (struct us_data)->proto_handler()

Type Parameter Key Value
PARAM_VALUE 0 srb 4096-ptr_max
PARAM_VALUE 0 srb->cmnd 4096-ptr_max
PARAM_VALUE 0 srb->device 4096-ptr_max
PARAM_VALUE 0 srb->device->lun 0-255
PARAM_VALUE 0 srb->sc_data_direction 1-u32max
PARAM_VALUE 1 us 4096-ptr_max
PARAM_VALUE 1 us->cmnd_ready.done 0-4294967293,u32max
PARAM_VALUE 1 us->cmnd_ready.wait.lock.dep_map->name 0-255
PARAM_VALUE 1 us->cmnd_ready.wait.lock.owner (-1)
PARAM_VALUE 1 us->cmnd_ready.wait.lock.owner_cpu u32max
PARAM_VALUE 1 us->cmnd_ready.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 1 us->cmnd_ready.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 1 us->dev_mutex.dep_map->name 0-255
PARAM_VALUE 1 us->dev_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 us->dev_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 us->dev_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 us->dev_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 us->dev_mutex.wait_lock.owner (-1)
PARAM_VALUE 1 us->dev_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 us->pusb_dev 4096-ptr_max
PARAM_VALUE 1 us->pusb_dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 us->pusb_intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 us->srb 4096-ptr_max
PARAM_VALUE 1 us->srb->cmnd 4096-ptr_max
PARAM_VALUE 1 us->srb->device 4096-ptr_max
PARAM_VALUE 1 us->srb->device->lun 0-255
PARAM_VALUE 1 us->srb->sc_data_direction 1-u32max
BUF_SIZE 1 us 128
BUF_SIZE 1 us 128
CAPPED_DATA 0 srb->device->lun 1
DATA_SOURCE 1 us $0
CONTAINER 0 *(-264+272) $(-1)
CONTAINER 1 -264+0 $(-1)
PARAM_COMPARE 0 srb->device->lun <= $1->max_lun
NOCHECK_CALL
LOCK2 1 &us->dev_mutex
TYPE_LOCK (struct us_data)->dev_mutex

drivers/usb/storage/realtek_cr.c rts51x_invoke_transport() -> (struct rts51x_chip)->proto_handler_backup()

Type Parameter Key Value
PARAM_VALUE 0 srb 4096-ptr_max
PARAM_VALUE 1 us 4096-ptr_max
PARAM_VALUE 1 us->extra 4096-ptr_max
PARAM_VALUE 1 us->pusb_dev 4096-ptr_max
PARAM_VALUE 1 us->pusb_dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 us->pusb_intf->dev.power.wakeirq->status 0-4294967295
BUF_SIZE 1 us (-1),64,128,280,1024
BUF_SIZE 1 us (-1),64,128,280,1024
DATA_SOURCE 0 srb $0
DATA_SOURCE 1 us $1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 srb->sdb.table.sgl->length
NO_OVERFLOW_SIMPLE 1 us->current_sg.count
NO_OVERFLOW_SIMPLE 1 us->current_sg.entries
NO_OVERFLOW_SIMPLE 1 us->current_sg.urbs
NO_OVERFLOW_SIMPLE 1 us->current_urb->num_mapped_sgs
NO_OVERFLOW_SIMPLE 1 us->current_urb->setup_dma
NO_OVERFLOW_SIMPLE 1 us->current_urb->sg->length
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_buffer
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_buffer_length
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_dma
NO_OVERFLOW_SIMPLE 1 us->pusb_dev->bos
HALF_LOCKED2 1 &us->dev_mutex

drivers/usb/storage/realtek_cr.c rts51x_invoke_transport() -> (struct rts51x_chip)->proto_handler_backup()

Type Parameter Key Value
PARAM_VALUE 0 srb 4096-ptr_max
PARAM_VALUE 1 us 4096-ptr_max
PARAM_VALUE 1 us->extra 4096-ptr_max
PARAM_VALUE 1 us->pusb_dev 4096-ptr_max
PARAM_VALUE 1 us->pusb_dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 us->pusb_intf->dev.power.wakeirq->status 0-4294967295
BUF_SIZE 1 us (-1),64,128,280,1024
BUF_SIZE 1 us (-1),64,128,280,1024
DATA_SOURCE 0 srb $0
DATA_SOURCE 1 us $1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 srb->sdb.table.sgl->length
NO_OVERFLOW_SIMPLE 1 us->current_sg.count
NO_OVERFLOW_SIMPLE 1 us->current_sg.entries
NO_OVERFLOW_SIMPLE 1 us->current_sg.urbs
NO_OVERFLOW_SIMPLE 1 us->current_urb->num_mapped_sgs
NO_OVERFLOW_SIMPLE 1 us->current_urb->setup_dma
NO_OVERFLOW_SIMPLE 1 us->current_urb->sg->length
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_buffer
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_buffer_length
NO_OVERFLOW_SIMPLE 1 us->current_urb->transfer_dma
NO_OVERFLOW_SIMPLE 1 us->pusb_dev->bos
HALF_LOCKED2 1 &us->dev_mutex