Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 5195098163861843968
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

net/smc/smc_rx.c smc_rx_recvmsg() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4056772236249407488
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
CAPPED_DATA 2 conn->rmb_desc->len 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 sk

net/smc/smc_rx.c smc_rx_update_cons() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 1637508150968770560
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 sk

net/smc/smc_rx.c smc_rx_update_consumer() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
CAPPED_DATA 2 conn->rmb_desc->len 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 2511375225987198976
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
DATA_SOURCE 2 conn $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 505186105849466880
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
DATA_SOURCE 2 conn $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 7603012613134585856
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
CAPPED_DATA 2 conn->rmb_desc->len 1
DATA_SOURCE 2 conn $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 1534300282128699392
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
CAPPED_DATA 2 conn->rmb_desc->len 1
DATA_SOURCE 2 conn $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 710470102319382528
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
CAPPED_DATA 2 conn->rmb_desc->len 1
CAPPED_DATA 2 conn->rmbe_update_limit 1
DATA_SOURCE 2 conn $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 857218700857241600
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn (-1),840
BUF_SIZE 2 conn (-1),840
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 8997590651356409856
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn (-1),840
BUF_SIZE 2 conn (-1),840
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 7560026118802956288
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 2 &conn->send_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 7039100161171824640
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 2 &conn->send_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 2372960163608059904
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 2 &conn->send_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 2669029999907188736
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 2 &conn->send_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 2372960163608059904
PARAM_VALUE 2 conn 4096-ptr_max
CAPPED_DATA 2 conn->peer_rmbe_size 1
CAPPED_DATA 2 conn->sndbuf_desc->len 1
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 2 &conn->send_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 7560026118802956288
PARAM_VALUE 2 conn 4096-ptr_max
CAPPED_DATA 2 conn->peer_rmbe_size 1
CAPPED_DATA 2 conn->sndbuf_desc->len 1
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 2 &conn->send_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

net/smc/smc_tx.c smc_tx_sendmsg() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 6532946158952566784
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 sk
HALF_LOCKED2 &vq->mutex

net/smc/smc_tx.c smc_tx_sendmsg() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 6532946158952566784
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
CAPPED_DATA 2 conn->sndbuf_desc->len 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 sk
HALF_LOCKED2 &vq->mutex

net/smc/smc_cdc.c smc_cdc_cursor_to_host() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4714773752894156800
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
DATA_SOURCE 1 src $0
DATA_SOURCE 2 conn $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock

net/smc/smc_cdc.c smc_cdc_cursor_to_host() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 7443901888107130880
PARAM_VALUE 2 conn 4096-ptr_max
DATA_SOURCE 0 tgt $0
DATA_SOURCE 2 conn $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 src->count 0-u32max
USER_DATA 1 src->wrap 0-u16max
LOCK2 &(&smc->sk)->sk_lock.slock

net/smc/smc_cdc.c smc_cdc_handle_urg_data_arrival() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 7379626695082135552
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 5209070401056829440
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock

net/smc/smc_cdc.c smc_cdc_msg_send() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 169832577172832256
PARAM_VALUE 2 conn 4096-ptr_max
CAPPED_DATA 2 conn->lnk 1
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 2 &conn->send_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 5438431300857806892
PARAM_VALUE 2 conn 4096-ptr_max
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock
HALF_LOCKED2 bh

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 5438431300857806900
PARAM_VALUE 2 conn 4096-ptr_max
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock
HALF_LOCKED2 bh

net/smc/smc_cdc.c smc_host_cursor_to_cdc() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 169832577172832256
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
CAPPED_DATA 2 conn->lnk 1
DATA_SOURCE 0 tgt $2
DATA_SOURCE 1 src $1
DATA_SOURCE 2 conn $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 2 &conn->send_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 1337335605791371264
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 1459664126552539136
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 6902216122889490432
PARAM_VALUE 2 conn 4096-ptr_max
CAPPED_DATA 2 conn->peer_token 1
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 2 &conn->send_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
CAPPED_DATA 2 conn->peer_token 1
DATA_SOURCE 2 conn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 2 &conn->send_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct smc_connection)->send_lock

net/smc/smc_cdc.c smcd_cdc_msg_to_host() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 8552597860677689344
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
DATA_SOURCE 2 conn $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock

net/smc/smc_cdc.c smcd_cdc_msg_to_host() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 8552597860677689344
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
DATA_SOURCE 2 conn $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(&smc->sk)->sk_lock.slock

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 1614618691137302528
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
NOCHECK_CALL
LOCK2 &smc->sk
HALF_LOCKED2 &smc->sk
TYPE_LOCK (struct smc_sock)->sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 1589697505966034944
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
NOCHECK_CALL
LOCK2 &smc->sk
HALF_LOCKED2 &smc->sk
TYPE_LOCK (struct smc_sock)->sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 6412275457883484160
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
DATA_SOURCE 2 conn $0
NOCHECK_CALL
LOCK2 &smc->sk
TYPE_LOCK (struct smc_sock)->sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 6228588234504871936
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
DATA_SOURCE 2 conn $0
NOCHECK_CALL
LOCK2 &smc->sk
TYPE_LOCK (struct smc_sock)->sk

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

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
PREEMPT_ADD
NOCHECK_CALL
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_switch_cursor() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 6107849734699446272
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
PREEMPT_ADD
NOCHECK_CALL
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_switch_cursor() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 4096-ptr_max
PARAM_VALUE 1 src 6107849734699446272
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
PREEMPT_ADD
NOCHECK_CALL
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_switch_cursor() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 6647441963360804864
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
PREEMPT_ADD
NOCHECK_CALL
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_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 5909058855500496896
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
DATA_SOURCE 2 conn $0
PREEMPT_ADD
NOCHECK_CALL
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_write_space() -> smc_curs_copy()

Type Parameter Key Value
PARAM_VALUE 0 tgt 2131501770768617472
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 conn 4096-ptr_max
BUF_SIZE 2 conn 840
DATA_SOURCE 2 conn $0
PREEMPT_ADD
NOCHECK_CALL
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