Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

drivers/nvme/target/loop.c nvme_loop_complete_rq() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/scsi/scsi_lib.c scsi_free_sgtables() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 0 table->nents 1-u32max
PARAM_VALUE 1 nents_first_chunk 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/scsi/scsi_lib.c scsi_free_sgtables() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/block/rnbd/rnbd-clt.c rnbd_queue_rq() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/block/rnbd/rnbd-clt.c rnbd_softirq_done_fn() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/nvme/host/fc.c nvme_fc_map_data() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/nvme/host/fc.c nvme_fc_unmap_data() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/nvme/host/rdma.c nvme_rdma_dma_map_req() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 0 table->nents 1-u32max
PARAM_VALUE 0 table->orig_nents 1-u16max
PARAM_VALUE 0 table->sgl 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/nvme/host/rdma.c nvme_rdma_dma_map_req() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 0 table->nents 1-u32max
PARAM_VALUE 0 table->orig_nents 1-u16max
PARAM_VALUE 0 table->sgl 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/nvme/host/rdma.c nvme_rdma_dma_unmap_req() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/nvme/host/rdma.c nvme_rdma_dma_unmap_req() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/smb/smbdirect/rw.c smbdirect_connection_rdma_xmit() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 0 table->nents 1-u32max
PARAM_VALUE 0 table->orig_nents 1-1048577
PARAM_VALUE 0 table->sgl 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 128
NOCHECK_CALL
LOCK2 &pool->lock

fs/smb/smbdirect/rw.c smbdirect_connection_rw_io_free() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 128
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/block/virtio_blk.c virtblk_unmap_data() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 nents_first_chunk 2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &vq->lock
HALF_LOCKED2 flags

lib/sg_pool.c sg_alloc_table_chained() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 1-u64max
PARAM_VALUE 0 table->orig_nents 0,2-u32max
PARAM_VALUE 0 table->sgl 0
PARAM_VALUE 0 table->sgl->dma_address 0
PARAM_VALUE 0 table->sgl->dma_flags 0
PARAM_VALUE 0 table->sgl->dma_length 0
PARAM_VALUE 0 table->sgl->length 0
PARAM_VALUE 0 table->sgl->offset 0
PARAM_VALUE 0 table->sgl->page_link 0
PARAM_VALUE 1 nents_first_chunk 0,2-u32max
DATA_SOURCE 0 table $0
DATA_SOURCE 1 nents_first_chunk $3 [m]
FUZZY_MAX 1 nents_first_chunk 0
MEM_ZERO 0 table
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 nents_first_chunk unit_array_size
HALF_LOCKED2 &vq->mutex

drivers/vhost/scsi.c vhost_scsi_mapal() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 nents_first_chunk unit_array_size
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/scsi.c vhost_scsi_mapal() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 nents_first_chunk unit_array_size
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/scsi.c vhost_scsi_release_cmd_res() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 nents_first_chunk unit_array_size
HALF_LOCKED2 &svq->vq.mutex
HALF_LOCKED2 &vq->mutex

drivers/vhost/scsi.c vhost_scsi_release_cmd_res() -> sg_free_table_chained()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 nents_first_chunk unit_array_size
HALF_LOCKED2 &svq->vq.mutex
HALF_LOCKED2 &vq->mutex