Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/scsi/esas2r/esas2r_ioctl.c do_fm_api() -> esas2r_alloc_request()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 0 a->buffered_ioctl_done 0-1
PARAM_VALUE 0 a->firmware.state 0-2
PARAM_VALUE 0 a->flash_context.comp_typ 0,2-5
PARAM_VALUE 0 a->flash_context.fi->cmp_hdr->status 0-255
PARAM_VALUE 0 a->flash_context.fi_hdr_len 0,2176
PARAM_VALUE 0 a->flash_context.func 0-1
PARAM_VALUE 0 a->flash_context.interrupt_cb 0,4870797858849771520
PARAM_VALUE 0 a->flash_context.num_comps 0,6
PARAM_VALUE 0 a->flash_context.task 0-8
PARAM_VALUE 0 a->fm_api_command_done 0-1
PARAM_VALUE 0 a->fm_api_mutex.dep_map->name 0-255
PARAM_VALUE 0 a->fm_api_mutex.first_waiter 0,4096-5159360019465732095,5159360019465732097-ptr_max
PARAM_VALUE 0 a->fm_api_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 a->fm_api_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 a->fm_api_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 a->fm_api_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 a->fm_api_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 a->fs_api_command_done 0-1
PARAM_VALUE 0 a->nvram_command_done 0-1
PARAM_VALUE 0 a->nvram_semaphore.first_waiter->up 0-1
PARAM_VALUE 0 a->pcid->dev.cma_area->nranges s32min-s32max
PARAM_VALUE 0 a->vda_command_done 0-1
CAPPED_DATA 0 &a->fm_api_mutex 1
DATA_SOURCE 0 a $0
FUZZY_MAX 0 a->firmware.state 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &a->fm_api_mutex
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct esas2r_adapter)->fm_api_mutex

drivers/scsi/esas2r/esas2r_ioctl.c esas2r_ioctl_handler() -> esas2r_alloc_request()

Type Parameter Key Value

drivers/scsi/esas2r/esas2r_ioctl.c esas2r_read_fs() -> esas2r_alloc_request()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 0 a->fs_api_buffer 1-u64max
PARAM_VALUE 0 a->fs_api_mutex.dep_map->name 0-255
PARAM_VALUE 0 a->fs_api_mutex.first_waiter 0,4096-5159360019465732095,5159360019465732097-ptr_max
PARAM_VALUE 0 a->fs_api_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 a->fs_api_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 a->fs_api_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 a->fs_api_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 a->fs_api_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 a->pcid->dev.cma_area->nranges s32min-s32max
CAPPED_DATA 0 &a->fs_api_mutex 1
DATA_SOURCE 0 a $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &a->fs_api_mutex
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct esas2r_adapter)->fs_api_mutex

drivers/scsi/esas2r/esas2r_ioctl.c esas2r_read_vda() -> esas2r_alloc_request()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 0 a->pcid->dev.cma_area->nranges s32min-s32max
PARAM_VALUE 0 a->vda_buffer 1-u64max
DATA_SOURCE 0 a $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex

drivers/scsi/esas2r/esas2r_ioctl.c handle_buffered_ioctl() -> esas2r_alloc_request()

Type Parameter Key Value
PARAM_VALUE 0 a 0
PARAM_VALUE 0 a->pcid 4096-ptr_max
PARAM_VALUE 0 a->pcid->dev.cma_area->alloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 a->pcid->dev.cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 a->pcid->dev.cma_area->alloc_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 a->pcid->dev.cma_area->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 a->pcid->dev.cma_area->nranges s32min-s32max
PARAM_VALUE 0 a->pcid->dev.dma_io_tlb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 a->pcid->dev.dma_io_tlb_pools.next 4096-ptr_max
PARAM_VALUE 0 a->pcid->dev.dma_io_tlb_pools.next->prev 4096-ptr_max
PARAM_VALUE 0 a->pcid->dev.dma_io_tlb_pools.next->prev->prev 4096-ptr_max
PARAM_VALUE 0 a->pcid->dev.dma_mem->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 a->pcid->dev.dma_uses_io_tlb 1
PARAM_VALUE 0 a->pcid->dev.iommu->attach_deferred 0-1
BUF_SIZE 0 a 0
CAPPED_DATA 0 &a->pcid->dev 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &buffered_ioctl_semaphore

drivers/scsi/esas2r/esas2r_main.c esas2r_check_active_queue() -> esas2r_alloc_request()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
CAPPED_DATA 0 &a->active_list 1
DATA_SOURCE 0 a $0
PREEMPT_ADD
LOCK2 flags
LOCK2 0 &a->queue_lock
TYPE_LOCK (struct esas2r_adapter)->queue_lock

drivers/scsi/esas2r/esas2r_main.c esas2r_dev_targ_reset() -> esas2r_alloc_request()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
PARAM_VALUE 0 a->nvram_semaphore.first_waiter->up 0-1

drivers/scsi/esas2r/esas2r_main.c esas2r_queuecommand() -> esas2r_alloc_request()

Type Parameter Key Value
PARAM_VALUE 0 a 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/esas2r/esas2r_main.c write_live_nvram() -> esas2r_alloc_request()

Type Parameter Key Value
DATA_SOURCE 0 a r esas2r_adapter_from_kobj
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex