Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/char/ipmi/ipmi_ssif.c check_start_send() -> ipmi_free_smi_msg()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->data 4096-ptr_max
PARAM_VALUE 0 msg->data_size 2
PARAM_VALUE 0 msg->done 2720790875626950656
PARAM_VALUE 0 msg->recv_msg 0
PARAM_VALUE 0 msg->type 0
BUF_SIZE 0 msg 600
DATA_SOURCE 0 msg $2
NOCHECK_CALL

drivers/char/ipmi/ipmi_msghandler.c check_msg_timeout() -> ipmi_free_smi_msg()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 *msg->data 0-255
BUF_SIZE 0 msg 600
DATA_SOURCE 0 msg r smi_from_recv_msg
NOCHECK_CALL
LOCK2 global &ipmi_interfaces_mutex
HALF_LOCKED2 &pool->lock

drivers/char/ipmi/ipmi_msghandler.c check_msg_timeout() -> ipmi_free_smi_msg()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->data_size 0-u16max
PARAM_VALUE 0 msg->done 2720790875626950656
PARAM_VALUE 0 msg->recv_msg 0
PARAM_VALUE 0 msg->type 0
BUF_SIZE 0 msg 600
DATA_SOURCE 0 msg r smi_from_recv_msg
NOCHECK_CALL
LOCK2 global &ipmi_interfaces_mutex
HALF_LOCKED2 &pool->lock

drivers/char/ipmi/ipmi_msghandler.c deliver_smi_err_response() -> ipmi_free_smi_msg()

Type Parameter Key Value
PARAM_VALUE 0 msg 9092124119958876160
PARAM_VALUE 0 msg->data 4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->addr.addr_type 12,129
PARAM_VALUE 0 msg->recv_msg->addr.channel 0,15
PARAM_VALUE 0 msg->recv_msg->addr.lun 0-3
PARAM_VALUE 0 msg->recv_msg->addr.rq_lun 0-3
PARAM_VALUE 0 msg->recv_msg->addr.rs_lun 0-3
PARAM_VALUE 0 msg->recv_msg->addr.slave_addr 0-255
PARAM_VALUE 0 msg->recv_msg->link.next 4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->msg.netfn 0-63
PARAM_VALUE 0 msg->recv_msg->recv_type 1,4
PARAM_VALUE 0 msg->recv_msg->user->intf->owner->refcnt.counter 0-s32max
PARAM_VALUE 0 msg->rsp 4096-ptr_max
PARAM_VALUE 0 *msg->data 0-255
PARAM_VALUE 0 *msg->recv_msg->msg_data 0-255
DATA_SOURCE 0 msg $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &smi_infos_lock
HALF_LOCKED2 global &ssif_infos_mutex

drivers/char/ipmi/ipmi_msghandler.c free_smi_msg_list() -> ipmi_free_smi_msg()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
CAPPED_DATA 0 &msg->link 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/char/ipmi/ipmi_msghandler.c handle_new_recv_msgs() -> ipmi_free_smi_msg()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->addr.addr_type 12,129
PARAM_VALUE 0 msg->recv_msg->addr.channel 0,15
PARAM_VALUE 0 msg->recv_msg->addr.lun 0-3
PARAM_VALUE 0 msg->recv_msg->link.next 4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->msg.netfn 0-63
PARAM_VALUE 0 msg->recv_msg->recv_type 1,4
PARAM_VALUE 0 msg->recv_msg->user->intf->owner->refcnt.counter 0-s32max
PARAM_VALUE 0 *msg->data 0-255
PARAM_VALUE 0 *msg->recv_msg->msg_data 0-255
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &intf->waiting_rcv_msgs_lock
HALF_LOCKED2 flags

drivers/char/ipmi/ipmi_msghandler.c i_ipmi_request() -> ipmi_free_smi_msg()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->msg.data_len 0-272
PARAM_VALUE 0 msg->recv_msg->msg.netfn 1-255
PARAM_VALUE 0 msg->recv_msg->user 0,4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->user_msg_data 0,4096-ptr_max
PARAM_VALUE 0 *msg->data 0-255
BUF_SIZE 0 msg (-1),600
BUF_SIZE 0 msg (-1),600
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 msg->msgid s64min-s64max
USER_DATA 0 msg->recv_msg->msg.cmd 0-255
USER_DATA 0 msg->recv_msg->msg.data_len 0-272
USER_DATA 0 msg->recv_msg->msg.netfn 1-255
USER_DATA 0 msg->recv_msg->msgid s64min-s64max
HALF_LOCKED2 &bmc->dyn_mutex
HALF_LOCKED2 &intf->bmc_reg_mutex
HALF_LOCKED2 &intf->users_mutex

drivers/char/ipmi/ipmi_msghandler.c i_ipmi_request() -> ipmi_free_smi_msg()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->msg.data_len 0-272
PARAM_VALUE 0 msg->recv_msg->msg.netfn 1-255
PARAM_VALUE 0 msg->recv_msg->user 0,4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->user_msg_data 0,4096-ptr_max
BUF_SIZE 0 msg 600
CAPPED_DATA 0 msg 1
DATA_SOURCE 0 msg r ipmi_alloc_smi_msg
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 msg->msgid s64min-s64max
USER_DATA 0 msg->recv_msg->msg.cmd 0-255
USER_DATA 0 msg->recv_msg->msg.data_len 0-272
USER_DATA 0 msg->recv_msg->msg.netfn 1-255
USER_DATA 0 msg->recv_msg->msgid s64min-s64max
HALF_LOCKED2 &bmc->dyn_mutex
HALF_LOCKED2 &intf->bmc_reg_mutex

drivers/char/ipmi/ipmi_msghandler.c smi_work() -> ipmi_free_smi_msg()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->link.next 4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->msg.data 4096-ptr_max
PARAM_VALUE 0 msg->recv_msg->msg.data_len 1
PARAM_VALUE 0 msg->recv_msg->recv_type 1
PARAM_VALUE 0 msg->recv_msg->user->intf->owner->refcnt.counter 0-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/char/ipmi/ipmi_si_intf.c alloc_msg_handle_irq() -> ipmi_free_smi_msg()

Type Parameter Key Value
PARAM_VALUE 0 msg 4096-ptr_max
PARAM_VALUE 0 msg->done 2720790875626950656
PARAM_VALUE 0 msg->recv_msg 0
PARAM_VALUE 0 msg->type 0
BUF_SIZE 0 msg 600
DATA_SOURCE 0 msg r ipmi_alloc_smi_msg
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &smi_info->si_lock
HALF_LOCKED2 flags