Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/block/drbd/drbd_state.c _conn_request_state() -> conn_pr_state_change()

Type Parameter Key Value
PARAM_VALUE 0 connection 4096-ptr_max
PARAM_VALUE 0 connection->resource 4096-ptr_max
PARAM_VALUE 3 flags 0,1024-u32max
BUF_SIZE 0 connection (-1),128
BUF_SIZE 0 connection (-1),128
CAPPED_DATA 0 connection->peer_devices.idr_base 1
CAPPED_DATA 0 connection->resource->devices.idr_base 1
DATA_SOURCE 0 connection $0
DATA_SOURCE 3 flags $3 [m]
STR_LEN 0 connection (-1)-0
STR_LEN 0 connection (-1)-0
BIT_INFO 3 flags 0x400,0xffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 connection->ack_sender->rescuer
NO_OVERFLOW_SIMPLE 0 connection->ack_sender->rescuer->task->dl.dl_runtime
NO_OVERFLOW_SIMPLE 0 connection->ack_sender->rescuer->task->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 0 connection->data.socket->sk->sk_write_queue.next->truesize
NO_OVERFLOW_SIMPLE 0 connection->meta.socket->sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 0 connection->meta.socket->sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 0 connection->meta.socket->sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 connection->meta.socket->sk->sk_receive_queue.prev->next->len
LOCK2 irq
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &resource->req_lock
HALF_LOCKED2 0 &connection->cstate_mutex
HALF_LOCKED2 0 &connection->data.mutex
HALF_LOCKED2 0 &connection->resource->conf_update
HALF_LOCKED2 0 &connection->resource->req_lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_state.c _drbd_set_state() -> conn_pr_state_change()

Type Parameter Key Value
PARAM_VALUE 3 flags 0,1024-u32max
DATA_SOURCE 1 os r drbd_read_state
DATA_SOURCE 2 ns $1 [m]
PARAM_COMPARE 2 ns == $2
BIT_INFO 2 ns 0x0,0x7fffffff
BIT_INFO 3 flags 0x400,0xfffffc1f
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &resource->req_lock
HALF_LOCKED2 device->state_mutex
HALF_LOCKED2 flags
HALF_LOCKED2 global &resources_mutex
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read