Defined in 2 files as a function:

Referenced in 1 files:

Smatch caller information:

crypto/async_tx/async_tx.c async_tx_channel_switch() -> txd_chain()

Type Parameter Key Value
PARAM_VALUE 0 txd 4096-ptr_max
PARAM_VALUE 0 txd->next 0
PARAM_VALUE 1 next 4096-ptr_max
PARAM_VALUE 1 next->parent 0
BUF_SIZE 0 txd (-1)-0,176
BUF_SIZE 0 txd (-1)-0,176
BUF_SIZE 1 next (-1),176
BUF_SIZE 1 next (-1),176
BUF_SIZE 1 next->callback_param (-1)-0,96
CAPPED_DATA 0 txd->chan 1
CAPPED_DATA 1 next->chan 1
DATA_SOURCE 0 txd $0
DATA_SOURCE 1 next $1
PARAM_COMPARE 0 txd->chan == $1->chan
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &txd->lock
TYPE_LOCK (struct dma_async_tx_descriptor)->lock

crypto/async_tx/async_tx.c async_tx_channel_switch() -> txd_chain()

Type Parameter Key Value
PARAM_VALUE 0 txd 4096-ptr_max
PARAM_VALUE 1 next 4096-ptr_max
PARAM_VALUE 1 next->parent 0
BUF_SIZE 0 txd 176
BUF_SIZE 1 next (-1),176
BUF_SIZE 1 next (-1),176
BUF_SIZE 1 next->callback_param (-1)-0,96
DATA_SOURCE 1 next $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ioat_chan->prep_lock
HALF_LOCKED2 bh

crypto/async_tx/async_tx.c async_tx_channel_switch() -> txd_chain()

Type Parameter Key Value
PARAM_VALUE 0 txd 4096-ptr_max
PARAM_VALUE 0 txd->next 0
PARAM_VALUE 1 next 4096-ptr_max
BUF_SIZE 0 txd (-1)-0,176
BUF_SIZE 0 txd (-1)-0,176
BUF_SIZE 1 next 176
CAPPED_DATA 0 txd->chan 1
DATA_SOURCE 0 txd $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &txd->lock
HALF_LOCKED2 &ioat_chan->prep_lock
TYPE_LOCK (struct dma_async_tx_descriptor)->lock

crypto/async_tx/async_tx.c async_tx_submit() -> txd_chain()

Type Parameter Key Value
PARAM_VALUE 0 txd 4096-ptr_max
PARAM_VALUE 0 txd->next 0
PARAM_VALUE 1 next 4096-ptr_max
PARAM_VALUE 1 next->parent 0
BUF_SIZE 0 txd (-1),176
BUF_SIZE 0 txd (-1),176
BUF_SIZE 1 next (-1),176
BUF_SIZE 1 next (-1),176
BUF_SIZE 1 next->callback_param (-1)-0,96
CAPPED_DATA 0 txd->chan 1
DATA_SOURCE 1 next $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &txd->lock
TYPE_LOCK (struct dma_async_tx_descriptor)->lock