Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 11 files:

Smatch caller information:

drivers/infiniband/hw/mthca/mthca_mad.c forward_trap() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
BUF_SIZE 0 send_buf 80
DATA_SOURCE 0 send_buf r ib_create_send_mad
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/infiniband/hw/mthca/mthca_mad.c send_handler() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/hw/mlx4/mad.c forward_trap() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
BUF_SIZE 0 send_buf 80
DATA_SOURCE 0 send_buf r ib_create_send_mad
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/hw/mlx4/mad.c send_handler() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->context 4096-ptr_max
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/sw/rdmavt/mad.c rvt_send_mad_handler() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/core/mad_rmpp.c ack_ds_ack() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->device->ops.destroy_ah 4096-ptr_max
PARAM_VALUE 0 send_buf->context 4096-ptr_max
BUF_SIZE 0 send_buf 80
CAPPED_DATA 0 send_buf->ah 1
DATA_SOURCE 0 send_buf r alloc_response_msg
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/infiniband/core/mad_rmpp.c ack_recv() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->mad->mad_hdr.attr_id 0-u16max
PARAM_VALUE 0 send_buf->mad->mad_hdr.attr_mod 0-4294967295
PARAM_VALUE 0 send_buf->mad->mad_hdr.base_version 0-255
PARAM_VALUE 0 send_buf->mad->mad_hdr.class_specific 0-u16max
PARAM_VALUE 0 send_buf->mad->mad_hdr.class_version 0-255
PARAM_VALUE 0 send_buf->mad->mad_hdr.method 0-255
PARAM_VALUE 0 send_buf->mad->mad_hdr.mgmt_class 0-255
PARAM_VALUE 0 send_buf->mad->mad_hdr.resv 0-u16max
PARAM_VALUE 0 send_buf->mad->mad_hdr.status 0-u16max
PARAM_VALUE 0 send_buf->mad->rmpp_hdr.paylen_newwin 0-4294967295
PARAM_VALUE 0 send_buf->mad->rmpp_hdr.rmpp_rtime_flags 1,9-249
PARAM_VALUE 0 send_buf->mad->rmpp_hdr.rmpp_status 0-255
PARAM_VALUE 0 send_buf->mad->rmpp_hdr.rmpp_type 2
PARAM_VALUE 0 send_buf->mad->rmpp_hdr.rmpp_version 0-255
PARAM_VALUE 0 send_buf->mad->rmpp_hdr.seg_num 0-4294967295
BUF_SIZE 0 send_buf 80
DATA_SOURCE 0 send_buf r ib_create_send_mad
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/core/mad_rmpp.c ib_rmpp_send_handler() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->context 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/core/mad_rmpp.c nack_recv() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->device->ops.destroy_ah 4096-ptr_max
PARAM_VALUE 0 send_buf->context 4096-ptr_max
BUF_SIZE 0 send_buf 80
CAPPED_DATA 0 send_buf->ah 1
DATA_SOURCE 0 send_buf r alloc_response_msg
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/infiniband/hw/hfi1/mad.c send_trap() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah 1-u64max
PARAM_VALUE 0 send_buf->hdr_len 24
PARAM_VALUE 0 send_buf->mad 4096-ptr_max
PARAM_VALUE 0 send_buf->mad_agent 4096-ptr_max
BUF_SIZE 0 send_buf 80
BUF_SIZE 0 send_buf->ah s32min-s32max
DATA_SOURCE 0 send_buf r ib_create_send_mad
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 rcu_read

drivers/infiniband/hw/hfi1/mad.c send_trap() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
BUF_SIZE 0 send_buf 80
DATA_SOURCE 0 send_buf r ib_create_send_mad
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 rcu_read

drivers/infiniband/core/sa_query.c free_mad() -> ib_free_send_mad()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->mutex

drivers/infiniband/core/cm.c cm_alloc_response_msg() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->context 4096-ptr_max
PARAM_VALUE 0 send_buf->hdr_len 24
PARAM_VALUE 0 send_buf->mad 4096-ptr_max
PARAM_VALUE 0 send_buf->mad_agent 4096-ptr_max
BUF_SIZE 0 send_buf 80
DATA_SOURCE 0 send_buf r cm_alloc_response_msg_no_ah
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/infiniband/core/cm.c cm_free_msg() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah 0,4096-ptr_max
PARAM_VALUE 0 send_buf->ah->device->ops.destroy_ah 4096-ptr_max
BUF_SIZE 0 send_buf (-1),80
BUF_SIZE 0 send_buf (-1),80
CAPPED_DATA 0 send_buf->ah 1
DATA_SOURCE 0 send_buf $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cm_id_priv->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 irq

drivers/infiniband/core/cm.c cm_free_priv_msg() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah 0,4096-ptr_max
PARAM_VALUE 0 send_buf->ah->device->ops.destroy_ah 4096-ptr_max
PARAM_VALUE 0 send_buf->context 4096-ptr_max
BUF_SIZE 0 send_buf 80
CAPPED_DATA 0 send_buf 1
CAPPED_DATA 0 send_buf->ah 1
DATA_SOURCE 0 send_buf $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cm_id_priv->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct cm_id_private)->lock

drivers/infiniband/ulp/srpt/ib_srpt.c srpt_mad_recv_handler() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->device 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->pd 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->sgid_attr 0,4096-ptr_max
BUF_SIZE 0 send_buf 80
DATA_SOURCE 0 send_buf r ib_create_send_mad
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/infiniband/ulp/srpt/ib_srpt.c srpt_mad_send_handler() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->device->ops.destroy_ah 4096-ptr_max
CAPPED_DATA 0 send_buf->ah 1
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/core/user_mad.c ib_umad_write() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->device 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->pd 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->type 0-3
PARAM_VALUE 0 send_buf->context 4096-ptr_max
BUF_SIZE 0 send_buf 80
BUF_SIZE 0 send_buf->ah s32min-s32max
DATA_SOURCE 0 send_buf r ib_create_send_mad
NOCHECK_CALL
USER_DATA 0 send_buf->data_len (-36)-999999920
LOCK2 &file->mutex
TYPE_LOCK (struct ib_umad_file)->mutex

drivers/infiniband/core/user_mad.c send_handler() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->device->ops.destroy_ah 4096-ptr_max
CAPPED_DATA 0 send_buf->ah 1
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/core/agent.c agent_send_handler() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->device->ops.destroy_ah 4096-ptr_max
CAPPED_DATA 0 send_buf->ah 1
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/core/agent.c agent_send_response() -> ib_free_send_mad()

Type Parameter Key Value
PARAM_VALUE 0 send_buf 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->device 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->pd 4096-ptr_max
PARAM_VALUE 0 send_buf->ah->sgid_attr 0,4096-ptr_max
BUF_SIZE 0 send_buf 80
DATA_SOURCE 0 send_buf r ib_create_send_mad
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL