Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/scsi/mpi3mr/mpi3mr_app.c mpi3mr_bsg_build_sgl() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 4096-ptr_max
PARAM_VALUE 1 flags 12
BUF_SIZE 0 paddr 16
NOCHECK_CALL
UNITS 2 length unit_byte

drivers/scsi/mpi3mr/mpi3mr_app.c mpi3mr_bsg_build_sgl() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 4096-ptr_max
PARAM_VALUE 1 flags 12
BUF_SIZE 0 paddr 16
NOCHECK_CALL
UNITS 2 length unit_byte

drivers/scsi/mpi3mr/mpi3mr_app.c mpi3mr_bsg_build_sgl() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 1 flags 12
NOCHECK_CALL
UNITS 2 length unit_byte

drivers/scsi/mpi3mr/mpi3mr_app.c mpi3mr_bsg_build_sgl() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 1 flags 4,12
PARAM_VALUE 2 length 0
PARAM_VALUE 3 dma_addr 0
BIT_INFO 1 flags 0x4,0xc
NOCHECK_CALL
UNITS 0 paddr unit_byte

drivers/scsi/mpi3mr/mpi3mr_app.c mpi3mr_bsg_build_sgl() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 1 flags 0,4,12
BIT_INFO 1 flags 0x0,0xc
NOCHECK_CALL
UNITS 0 paddr unit_byte
UNITS 2 length unit_byte

drivers/scsi/mpi3mr/mpi3mr_app.c mpi3mr_bsg_build_sgl() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 1 flags 48
PARAM_VALUE 2 length 32-1048560
CAPPED_DATA 2 length 1
NOCHECK_CALL

drivers/scsi/mpi3mr/mpi3mr_transport.c mpi3mr_expander_phy_control() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 3982103916581351456
PARAM_VALUE 1 flags 8
PARAM_VALUE 2 length 40
BUF_SIZE 0 paddr 16
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
UNITS 3 dma_addr unit_byte
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/mpi3mr/mpi3mr_transport.c mpi3mr_expander_phy_control() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 3982103916581351472
PARAM_VALUE 0 paddr->flags 0,4,8,12,48
PARAM_VALUE 0 paddr->length 0-4294967295
PARAM_VALUE 1 flags 8
PARAM_VALUE 2 length 4
BUF_SIZE 0 paddr 16
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
UNITS 3 dma_addr unit_byte
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/mpi3mr/mpi3mr_transport.c mpi3mr_get_expander_phy_error_log() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 3837004732564607008
PARAM_VALUE 1 flags 8
PARAM_VALUE 2 length 12
BUF_SIZE 0 paddr 16
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
UNITS 3 dma_addr unit_byte
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/mpi3mr/mpi3mr_transport.c mpi3mr_get_expander_phy_error_log() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 3837004732564607024
PARAM_VALUE 0 paddr->flags 0,4,8,12,48
PARAM_VALUE 0 paddr->length 0-4294967295
PARAM_VALUE 1 flags 8
PARAM_VALUE 2 length 28
BUF_SIZE 0 paddr 16
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
UNITS 3 dma_addr unit_byte
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/scsi/mpi3mr/mpi3mr_transport.c mpi3mr_report_manufacture() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 7317172809213489184
PARAM_VALUE 1 flags 8
PARAM_VALUE 2 length 4
BUF_SIZE 0 paddr 16
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
NOCHECK_CALL
UNITS 2 length unit_byte
UNITS 3 dma_addr unit_byte
LOCK2 &pool->lock

drivers/scsi/mpi3mr/mpi3mr_transport.c mpi3mr_report_manufacture() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 7317172809213489200
PARAM_VALUE 0 paddr->flags 0,4,8,12,48
PARAM_VALUE 0 paddr->length 0-4294967295
PARAM_VALUE 1 flags 8
PARAM_VALUE 2 length 60
BUF_SIZE 0 paddr 16
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
NOCHECK_CALL
UNITS 2 length unit_byte
UNITS 3 dma_addr unit_byte
LOCK2 &pool->lock

drivers/scsi/mpi3mr/mpi3mr_transport.c mpi3mr_transport_smp_handler() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 1540780550996217888
PARAM_VALUE 1 flags 8
BUF_SIZE 0 paddr 16
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/scsi/mpi3mr/mpi3mr_transport.c mpi3mr_transport_smp_handler() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 1540780550996217904
PARAM_VALUE 0 paddr->flags 0,4,8,12,48
PARAM_VALUE 0 paddr->length 0-4294967295
PARAM_VALUE 1 flags 8
BUF_SIZE 0 paddr 16
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/scsi/mpi3mr/mpi3mr_fw.c mpi3mr_build_zero_len_sge() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 4096-ptr_max
PARAM_VALUE 1 flags 8
PARAM_VALUE 2 length 0
PARAM_VALUE 3 dma_addr u64max
BUF_SIZE 0 paddr (-1),16,64
BUF_SIZE 0 paddr (-1),16,64
DATA_SOURCE 0 paddr $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 paddr unit_byte

drivers/scsi/mpi3mr/mpi3mr_fw.c mpi3mr_issue_iocfacts() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 7133172832387555344
PARAM_VALUE 1 flags 8
PARAM_VALUE 2 length 112
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
LOCK2 &mrioc->init_cmds.mutex
TYPE_LOCK (struct mpi3mr_drv_cmd)->mutex

drivers/scsi/mpi3mr/mpi3mr_fw.c mpi3mr_pel_get_seqnum_post() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 6551660550914859040
PARAM_VALUE 1 flags 8
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
HALF_LOCKED2 &mrioc->bsg_cmds.mutex

drivers/scsi/mpi3mr/mpi3mr_fw.c mpi3mr_print_pkg_ver() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 958179995981824032
PARAM_VALUE 1 flags 8
PARAM_VALUE 2 length 176
BUF_SIZE 0 paddr 16
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
LOCK2 &mrioc->init_cmds.mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mpi3mr_drv_cmd)->mutex

drivers/scsi/mpi3mr/mpi3mr_fw.c mpi3mr_process_cfg_req() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr 4096-ptr_max
PARAM_VALUE 1 flags 8
PARAM_VALUE 2 length 0,8
BUF_SIZE 0 paddr 16
CAPPED_DATA 2 length 1
FUZZY_MAX 2 length 8
BIT_INFO 2 length 0x0,0x8
HARD_MAX 2 length 8
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock

drivers/scsi/mpi3mr/mpi3mr_os.c mpi3mr_prepare_sg_scmd() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 1 flags 0
BUF_SIZE 0 paddr (-1),16,64
BUF_SIZE 0 paddr (-1),16,64
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
UNITS 3 dma_addr unit_byte
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/mpi3mr/mpi3mr_os.c mpi3mr_prepare_sg_scmd() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 1 flags 48
BUF_SIZE 0 paddr (-1),16,64
BUF_SIZE 0 paddr (-1),16,64
CAPPED_DATA 2 length 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/mpi3mr/mpi3mr_os.c mpi3mr_prepare_sg_scmd() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr->flags 0,4,8,12,48
PARAM_VALUE 0 paddr->length 0-4294967295
PARAM_VALUE 1 flags 8
BUF_SIZE 0 paddr (-1),16,64
BUF_SIZE 0 paddr (-1),16,64
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
UNITS 3 dma_addr unit_byte
HALF_LOCKED2 &sdev->state_mutex

drivers/scsi/mpi3mr/mpi3mr_os.c mpi3mr_prepare_sg_scmd() -> mpi3mr_add_sg_single()

Type Parameter Key Value
PARAM_VALUE 0 paddr->flags 0,4,8,12,48
PARAM_VALUE 0 paddr->length 0-4294967295
PARAM_VALUE 1 flags 0
BUF_SIZE 0 paddr (-1),16,64
BUF_SIZE 0 paddr (-1),16,64
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 length unit_byte
UNITS 3 dma_addr unit_byte
HALF_LOCKED2 &sdev->state_mutex