Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/infiniband/hw/hfi1/rc.c rc_rcv_error() -> find_prev_entry()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
PARAM_VALUE 2 prev 9068937891176480768
PARAM_VALUE 3 prev_ack 2701987137222639616
PARAM_VALUE 4 scheduled 2110071227886772224
PARAM_VALUE 4 *scheduled 1
DATA_SOURCE 0 qp $2
DATA_SOURCE 1 psn $4
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
LOCK2 &packet->qp->r_lock
LOCK2 flags
LOCK2 flags
LOCK2 rcu_read
LOCK2 0 &qp->s_lock
TYPE_LOCK (struct rvt_qp)->r_lock
TYPE_LOCK (struct rvt_qp)->s_lock

kernel/bpf/verifier.c prepare_func_exit() -> find_prev_entry()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
PARAM_VALUE 0 qp->cur_state 4096-ptr_max
PARAM_VALUE 0 qp->cur_state->frame 4096-ptr_max
PARAM_VALUE 0 qp->prog 4096-ptr_max
PARAM_VALUE 1 psn 4096-ptr_max
PARAM_VALUE 1 psn->curframe 0-2147483645
PARAM_VALUE 1 psn->frame 4096-ptr_max
DATA_SOURCE 0 qp $0

kernel/bpf/verifier.c process_iter_next_call() -> find_prev_entry()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
PARAM_VALUE 0 qp->cur_state 4096-ptr_max
PARAM_VALUE 0 qp->cur_state->frame 4096-ptr_max
PARAM_VALUE 0 qp->prog 4096-ptr_max
PARAM_VALUE 1 psn 4096-ptr_max
CAPPED_DATA 1 psn->curframe 1
CAPPED_DATA 1 psn->insn_idx 1
CAPPED_DATA 2 prev 1
DATA_SOURCE 0 qp $0
DATA_SOURCE 2 prev $1
PARAM_COMPARE 1 psn->insn_idx == $2
PARAM_COMPARE 2 prev == $1->insn_idx
UNITS 2 prev unit_array_size

drivers/infiniband/hw/hfi1/tid_rdma.c tid_rdma_rcv_error() -> find_prev_entry()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
PARAM_VALUE 1 psn 0-s32max
PARAM_VALUE 2 prev 1158262102019502080
PARAM_VALUE 3 prev_ack 0
PARAM_VALUE 4 scheduled 3578509959284310016
DATA_SOURCE 0 qp $2
DATA_SOURCE 1 psn $3
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
LOCK2 &packet->qp->r_lock
LOCK2 flags
LOCK2 flags
LOCK2 rcu_read
LOCK2 0 &qp->s_lock
TYPE_LOCK (struct rvt_qp)->r_lock
TYPE_LOCK (struct rvt_qp)->s_lock