Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

net/smc/smc_rx.c smc_curs_comp() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 4096-ptr_max
PARAM_VALUE 1 old->count 0-4294967294
PARAM_VALUE 2 new 4096-ptr_max
PARAM_VALUE 2 new->count 1-u32max
CAPPED_DATA 0 size 1
CAPPED_DATA 1 old->count 1
CAPPED_DATA 1 old->wrap 1
CAPPED_DATA 2 new->wrap 1
DATA_SOURCE 0 size $0
DATA_SOURCE 1 old $2
DATA_SOURCE 2 new $1
PARAM_COMPARE 1 old->wrap <= $2->wrap
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
HALF_LOCKED2 sk

net/smc/smc_rx.c smc_curs_comp() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 4096-ptr_max
PARAM_VALUE 2 new 4096-ptr_max
CAPPED_DATA 0 size 1
CAPPED_DATA 1 old->wrap 1
DATA_SOURCE 0 size $0
DATA_SOURCE 1 old $1
DATA_SOURCE 2 new $2
PARAM_COMPARE 2 new->wrap >= $1->wrap
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
HALF_LOCKED2 sk

net/smc/smc_rx.c smc_rx_recv_urg() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 5195098163861843968
PARAM_VALUE 2 new 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
HALF_LOCKED2 sk

net/smc/smc_close.c smc_tx_prepared_sends() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 2511375225987198976
PARAM_VALUE 2 new 505186105849466880
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
HALF_LOCKED2 sk

net/smc/smc_tx.c smc_tx_consumer_update() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 1534300282128699392
PARAM_VALUE 2 new 7603012613134585856
CAPPED_DATA 0 size 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
HALF_LOCKED2 sk

net/smc/smc_tx.c smc_tx_prepared_sends() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 857218700857241600
PARAM_VALUE 2 new 8997590651356409856
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
HALF_LOCKED2 sk

net/smc/smc_tx.c smc_tx_rdma_writes() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 7560026118802956288
PARAM_VALUE 2 new 7039100161171824640
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
LOCK2 &conn->send_lock
LOCK2 bh
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

net/smc/smc_cdc.c smc_cdc_msg_recv_action() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 5209070401056829440
PARAM_VALUE 2 new 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
LOCK2 &(&smc->sk)->sk_lock.slock

net/smc/smc_cdc.c smc_cdc_msg_recv_action() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 4096-ptr_max
PARAM_VALUE 2 new 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
LOCK2 &(&smc->sk)->sk_lock.slock

net/smc/smc_cdc.c smc_cdc_msg_recv_action() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 7379626695082135552
PARAM_VALUE 2 new 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
LOCK2 &(&smc->sk)->sk_lock.slock

net/smc/smc_cdc.c smc_cdc_tx_handler() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 4096-ptr_max
PARAM_VALUE 2 new 5438431300857806892
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
UNITS 0 size unit_byte
LOCK2 &(&smc->sk)->sk_lock.slock
HALF_LOCKED2 bh

net/smc/smc_cdc.c smc_tx_prepared_sends() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 1337335605791371264
PARAM_VALUE 2 new 1459664126552539136
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
LOCK2 &(&smc->sk)->sk_lock.slock

net/smc/smc_cdc.c smcd_cdc_msg_send() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 4096-ptr_max
PARAM_VALUE 2 new 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 size unit_byte
LOCK2 &conn->send_lock
LOCK2 bh
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

net/smc/af_smc.c smc_ioctl() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 1614618691137302528
PARAM_VALUE 2 new 1589697505966034944
UNITS 0 size unit_byte
LOCK2 &smc->sk
HALF_LOCKED2 &smc->sk
TYPE_LOCK (struct smc_sock)->sk

net/smc/af_smc.c smc_tx_prepared_sends() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 6412275457883484160
PARAM_VALUE 2 new 6228588234504871936
UNITS 0 size unit_byte
LOCK2 &smc->sk
TYPE_LOCK (struct smc_sock)->sk

net/smc/smc_core.c smc_curs_comp() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 6107849734699446272
PARAM_VALUE 1 old->count 0-4294967294
PARAM_VALUE 2 new 6647441963360804864
PARAM_VALUE 2 new->count 1-u32max
CAPPED_DATA 1 old->count 1
CAPPED_DATA 1 old->wrap 1
CAPPED_DATA 2 new->wrap 1
DATA_SOURCE 0 size $0
DATA_SOURCE 1 old $2
DATA_SOURCE 2 new $1
PARAM_COMPARE 1 old->wrap <= $2->wrap
PREEMPT_ADD
UNITS 0 size unit_byte
LOCK2 &conn->send_lock
LOCK2 &pool->lock
LOCK2 bh
HALF_LOCKED2 &lgr->llc_conf_mutex
TYPE_LOCK (struct smc_connection)->send_lock
TYPE_LOCK (struct smc_link_group)->llc_conf_mutex

net/smc/smc_core.c smc_curs_comp() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 6647441963360804864
PARAM_VALUE 2 new 6107849734699446272
CAPPED_DATA 1 old->wrap 1
DATA_SOURCE 0 size $0
DATA_SOURCE 1 old $1
DATA_SOURCE 2 new $2
PARAM_COMPARE 2 new->wrap >= $1->wrap
PREEMPT_ADD
UNITS 0 size unit_byte
LOCK2 &conn->send_lock
LOCK2 &pool->lock
LOCK2 bh
HALF_LOCKED2 &lgr->llc_conf_mutex
TYPE_LOCK (struct smc_connection)->send_lock
TYPE_LOCK (struct smc_link_group)->llc_conf_mutex

net/smc/smc_core.c smc_switch_cursor() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 6107849734699446272
PARAM_VALUE 1 old->count 0-4294967294
PARAM_VALUE 2 new 6647441963360804864
PARAM_VALUE 2 new->count 1-u32max
PREEMPT_ADD
UNITS 0 size unit_byte
LOCK2 &conn->send_lock
LOCK2 bh
HALF_LOCKED2 &lgr->llc_conf_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct smc_connection)->send_lock
TYPE_LOCK (struct smc_link_group)->llc_conf_mutex

net/smc/smc_core.c smc_write_space() -> smc_curs_diff()

Type Parameter Key Value
PARAM_VALUE 1 old 2131501770768617472
PARAM_VALUE 2 new 5909058855500496896
PREEMPT_ADD
UNITS 0 size unit_byte
LOCK2 &conn->send_lock
LOCK2 &pool->lock
LOCK2 bh
HALF_LOCKED2 &lgr->llc_conf_mutex
TYPE_LOCK (struct smc_connection)->send_lock
TYPE_LOCK (struct smc_link_group)->llc_conf_mutex