Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/bluetooth/l2cap_sock.c l2cap_sock_recv_cb() -> __sock_queue_rcv_skb()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.owned 1
PARAM_VALUE 0 sk->sk_lock.slock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sk->sk_lock.wq.head.prev 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next->next 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
BUF_SIZE 0 sk 1-s32max
BUF_SIZE 0 sk 1-s32max
BUF_SIZE 1 skb (-1),240
BUF_SIZE 1 skb (-1),240
DATA_SOURCE 1 skb $1
RX_PATH
NO_OVERFLOW_SIMPLE 1 skb->data_len
NO_OVERFLOW_SIMPLE 1 skb->end
NO_OVERFLOW_SIMPLE 1 skb->len
NO_OVERFLOW_SIMPLE 1 skb->sk->sk_backlog.len
LOCK2 &conn->lock
LOCK2 0 sk
HALF_LOCKED2 &chan->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct l2cap_conn)->lock

net/bluetooth/l2cap_sock.c l2cap_sock_recvmsg() -> __sock_queue_rcv_skb()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->__sk_common.skc_net.net->ipv4.fib_main->tb_data->kv->key 0-4294967295
PARAM_VALUE 0 sk->__sk_common.skc_net.net->loopback_dev->refcnt_tracker.list.next->next 4096-ptr_max
PARAM_VALUE 0 sk->__sk_common.skc_net.net->mctp.bind_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 sk->__sk_common.skc_node.next->pprev 1-u64max
PARAM_VALUE 0 sk->__sk_common.skc_prot->owner->refcnt.counter 0-s32max
PARAM_VALUE 0 sk->chan 4096-ptr_max
PARAM_VALUE 0 sk->chan->data 4096-ptr_max
PARAM_VALUE 0 sk->chan->mode 3,128-129
PARAM_VALUE 0 sk->chan->rx_avail (-1)-4294967295
PARAM_VALUE 0 sk->listener->__sk_common.skc_net.net->notrefcnt_tracker.dead 1
PARAM_VALUE 0 sk->listener->__sk_common.skc_net.net->refcnt_tracker.dead 1
PARAM_VALUE 0 sk->listener->sk_bpf_storage->owner_refcnt.refs.counter s32min-s32max
PARAM_VALUE 0 sk->listener->sk_callback_lock.raw_lock.cnts.counter 0-s32max
PARAM_VALUE 0 sk->listener->sk_lock.owned 1
PARAM_VALUE 0 sk->listener->sk_rcu.next 0
PARAM_VALUE 0 sk->listener->sk_reuseport_cb 0
PARAM_VALUE 0 sk->listener->sk_user_data 0
PARAM_VALUE 0 sk->sk_backlog.head->extensions->refcnt.refs.counter 1
PARAM_VALUE 0 sk->sk_backlog.head->sk->__sk_common.skc_net.net->notrefcnt_tracker.dead 1
PARAM_VALUE 0 sk->sk_backlog.head->sk->__sk_common.skc_net.net->refcnt_tracker.dead 1
PARAM_VALUE 0 sk->sk_backlog.head->sk->__sk_common.skc_prot 4096-ptr_max
PARAM_VALUE 0 sk->sk_backlog.head->sk->__sk_common.skc_state 0-9,11-255
PARAM_VALUE 0 sk->sk_backlog.head->sk->sk_callback_lock.owner (-1)
PARAM_VALUE 0 sk->sk_backlog.head->sk->sk_callback_lock.owner_cpu u32max
PARAM_VALUE 0 sk->sk_backlog.head->sk->sk_callback_lock.raw_lock.cnts.counter 0-s32max
PARAM_VALUE 0 sk->sk_backlog.head->sk->sk_filter->rcu.func 1-u64max
PARAM_VALUE 0 sk->sk_backlog.head->sk->sk_owner->refcnt.counter 0-s32max
PARAM_VALUE 0 sk->sk_backlog.head->sk->sk_prot_creator->owner->refcnt.counter 0-s32max
PARAM_VALUE 0 sk->sk_backlog.head->sk->sk_rcu.func 1-u64max
PARAM_VALUE 0 sk->sk_callback_lock.owner (-1)
PARAM_VALUE 0 sk->sk_callback_lock.owner_cpu u32max
PARAM_VALUE 0 sk->sk_callback_lock.raw_lock.cnts.counter 0-s32max
PARAM_VALUE 0 sk->sk_callback_lock.raw_lock.wlocked 0
PARAM_VALUE 0 sk->sk_dst_cache->callback_head.flags 0-4294967295
PARAM_VALUE 0 sk->sk_dst_cache->callback_head.is_hard 0-1
PARAM_VALUE 0 sk->sk_dst_cache->callback_head.is_lazy 0-1
PARAM_VALUE 0 sk->sk_dst_cache->callback_head.is_queued 0-1
PARAM_VALUE 0 sk->sk_dst_cache->callback_head.is_soft 0-1
PARAM_VALUE 0 sk->sk_dst_cache->ops->pcpuc_entries.lock.owner (-1)
PARAM_VALUE 0 sk->sk_dst_cache->ops->pcpuc_entries.lock.owner_cpu u32max
PARAM_VALUE 0 sk->sk_dst_cache->ops->pcpuc_entries.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 sk->sk_error_queue.next->prev 2011684551238094848
PARAM_VALUE 0 sk->sk_lock.dep_map->name 0-255
PARAM_VALUE 0 sk->sk_lock.owned 1
PARAM_VALUE 0 sk->sk_lock.slock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sk->sk_lock.wq.head.prev 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 sk->sk_memcg->high_work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 sk->sk_reuseport_cb->rcu.next 0
PARAM_VALUE 0 sk->sk_rx_dst->u.dst.__pad s16min-s16max
PARAM_VALUE 0 sk->sk_rx_dst->u.dst.__rcuref.refcnt.counter s32min-s32max
PARAM_VALUE 0 sk->sk_rx_dst->u.dst.__use s32min-s32max
PARAM_VALUE 0 sk->sk_rx_dst->u.dst.dst_trace_seq.counter s32min-s32max
PARAM_VALUE 0 sk->sk_rx_dst->u.dst.error s16min-s16max
PARAM_VALUE 0 sk->sk_rx_dst->u.dst.header_len 0-u16max
PARAM_VALUE 0 sk->sk_rx_dst->u.dst.obsolete s16min-s16max
PARAM_VALUE 0 sk->sk_rx_dst->u.dst.tclassid 0-4294967295
PARAM_VALUE 0 sk->sk_rx_dst->u.dst.trailer_len 0-u16max
PARAM_VALUE 0 sk->sk_user_data->connect_cookie 0-4294967295
PARAM_VALUE 0 sk->sk_user_data->cp_conn->c_proposed_version 769
PARAM_VALUE 0 sk->sk_user_data->cp_reconnect_jiffies 0
PARAM_VALUE 0 sk->sk_user_data->cp_recv_w.cpu s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->cp_recv_w.timer.flags 0-4294967295
PARAM_VALUE 0 sk->sk_user_data->cp_recv_w.timer.is_hard 0-1
PARAM_VALUE 0 sk->sk_user_data->cp_recv_w.timer.is_lazy 0-1
PARAM_VALUE 0 sk->sk_user_data->cp_recv_w.timer.is_queued 0-1
PARAM_VALUE 0 sk->sk_user_data->cp_recv_w.timer.is_soft 0-1
PARAM_VALUE 0 sk->sk_user_data->cp_send_w.cpu s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->cp_send_w.timer.flags 0-4294967295
PARAM_VALUE 0 sk->sk_user_data->cp_send_w.timer.is_hard 0-1
PARAM_VALUE 0 sk->sk_user_data->cp_send_w.timer.is_lazy 0-1
PARAM_VALUE 0 sk->sk_user_data->cp_send_w.timer.is_queued 0-1
PARAM_VALUE 0 sk->sk_user_data->cp_send_w.timer.is_soft 0-1
PARAM_VALUE 0 sk->sk_user_data->cp_state.counter 0-s32max
PARAM_VALUE 0 sk->sk_user_data->ctrl->ctrl.failfast_work.cpu s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->ctrl->ctrl.failfast_work.timer.flags 0-4294967295
PARAM_VALUE 0 sk->sk_user_data->ctrl->ctrl.failfast_work.timer.is_hard 0-1
PARAM_VALUE 0 sk->sk_user_data->ctrl->ctrl.failfast_work.timer.is_lazy 0-1
PARAM_VALUE 0 sk->sk_user_data->ctrl->ctrl.failfast_work.timer.is_queued 0-1
PARAM_VALUE 0 sk->sk_user_data->ctrl->ctrl.failfast_work.timer.is_soft 0-1
PARAM_VALUE 0 sk->sk_user_data->ctrl->ctrl.state 2
PARAM_VALUE 0 sk->sk_user_data->dev->carrier_down_count.counter s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->dev->refcnt_tracker.untracked.refs.counter s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->door_bell.done 0-4294967295
PARAM_VALUE 0 sk->sk_user_data->door_bell.wait.lock.owner (-1)
PARAM_VALUE 0 sk->sk_user_data->door_bell.wait.lock.owner_cpu 4294967295
PARAM_VALUE 0 sk->sk_user_data->kref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->login_work.cpu s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->login_work.timer.flags 0-4294967295
PARAM_VALUE 0 sk->sk_user_data->login_work.timer.is_hard 0-1
PARAM_VALUE 0 sk->sk_user_data->login_work.timer.is_lazy 0-1
PARAM_VALUE 0 sk->sk_user_data->login_work.timer.is_queued 0-1
PARAM_VALUE 0 sk->sk_user_data->login_work.timer.is_soft 0-1
PARAM_VALUE 0 sk->sk_user_data->mpa_timer->type 5,7
PARAM_VALUE 0 sk->sk_user_data->private->s_delegated_inos.xa_flags 0-4294967295
PARAM_VALUE 0 sk->sk_user_data->qp->tx_ctx.tx_suspend 1
PARAM_VALUE 0 sk->sk_user_data->read.counter s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->reestablish_timeout 0,750
PARAM_VALUE 0 sk->sk_user_data->ref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->sc_kref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->sc_node->nd_item.ci_dentry->d_fsdata->s_dependent_count s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->sc_page->_refcount.counter s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->sc_page->page_type 0-4294967295
PARAM_VALUE 0 sk->sk_user_data->session->state s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->sock_state.counter s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->work.cpu s32min-s32max
PARAM_VALUE 0 sk->sk_user_data->work.flags 0-4294967295
PARAM_VALUE 0 sk->sk_user_data->work.is_hard 0-1
PARAM_VALUE 0 sk->sk_user_data->work.is_lazy 0-1
PARAM_VALUE 0 sk->sk_user_data->work.is_queued 0-1
PARAM_VALUE 0 sk->sk_user_data->work.is_soft 0-1
PARAM_VALUE 0 sk->sk_user_data->work.node.node.next 0
PARAM_VALUE 0 sk->sk_user_data->work.node.node.prev 0
PARAM_VALUE 0 sk->sk_user_data->work.timer.flags 0-4294967295
PARAM_VALUE 0 sk->sk_user_data->work.timer.is_hard 0-1
PARAM_VALUE 0 sk->sk_user_data->work.timer.is_lazy 0-1
PARAM_VALUE 0 sk->sk_user_data->work.timer.is_queued 0-1
PARAM_VALUE 0 sk->sk_user_data->work.timer.is_soft 0-1
PARAM_VALUE 0 sk->skc_family 0-u16max
PARAM_VALUE 0 sk->tcp_retransmit_timer.entry->pprev 4096-ptr_max
PARAM_VALUE 0 *sk->sk_backlog.head->dev->name 0-255
PARAM_VALUE 0 *sk->sk_user_data->dev->pcpu_refcnt s32min-s32max
PARAM_VALUE 0 *sk->sk_user_data->door_bell.wait.lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 *sk->sk_user_data->private->o_auth.authorizer->session_key.key (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 *sk->sk_user_data->private->s_auth.authorizer->session_key.key (-4611686018427387904)-4611686018427387903
CAPPED_DATA 0 sk 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
UNITS 0 sk unit_byte
LOCK2 0 sk
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/core/sock.c sock_queue_rcv_skb_reason() -> __sock_queue_rcv_skb()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->channel 0-127
PARAM_VALUE 0 sk->sk_filter 0
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 1 skb->dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
PARAM_VALUE 1 skb->dev->ndisc_ops->fill_addr_option 4096-ptr_max
PARAM_VALUE 1 skb->dev->ndisc_ops->parse_options 4096-ptr_max
PARAM_VALUE 1 skb->dev->ndisc_ops->update 4096-ptr_max
PARAM_VALUE 1 skb->dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 1 skb->dev->rtnl_link_ops->priv_size 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3544,3552,3720,9688-u64max
BUF_SIZE 0 sk (-1),1-s32max
BUF_SIZE 0 sk (-1),1-s32max
BUF_SIZE 0 sk->__sk_common.skc_prot (-1),448
BUF_SIZE 1 skb (-1)-s32max
BUF_SIZE 1 skb (-1)-s32max
CAPPED_DATA 1 skb 1
DATA_SOURCE 0 sk $0
DATA_SOURCE 1 skb $1
FUZZY_MAX 0 sk->channel 1
STR_LEN 0 sk (-1),21,33
STR_LEN 0 sk (-1),21,33
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 skb->csum 0-4294967041[c]
HOST_DATA 1 skb->csum_offset 0-u16max
HOST_DATA 1 skb->prev->csum_offset 0-u16max
HOST_DATA 1 skb->prev->data_len 0-u32max[c]
HOST_DATA 1 skb->prev->len 0-u32max[c]
HOST_DATA 1 skb->prev->tstamp 500000002-4294967299794967295[c]
HOST_DATA 1 skb->tstamp 500000002-4294967299794967295[c]
HOST_DATA 1 skb->users.refs.counter s32min-0,2-s32max
HOST_DATA 1 *skb->data 0-255
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.head->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.head->end
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.head->len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.head->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.head->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->end
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->next->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.tail->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_prot_creator->twsk_prot->twsk_slab->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->data_len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->len
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 sk->sk_write_queue.prev->truesize
NO_OVERFLOW_SIMPLE 1 skb->data_len
NO_OVERFLOW_SIMPLE 1 skb->dev->group
NO_OVERFLOW_SIMPLE 1 skb->dev->num_tc
NO_OVERFLOW_SIMPLE 1 skb->dev->proto_down
NO_OVERFLOW_SIMPLE 1 skb->dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 1 skb->dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 1 skb->dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 1 skb->dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 1 skb->dev->tx_queue_len
NO_OVERFLOW_SIMPLE 1 skb->end
NO_OVERFLOW_SIMPLE 1 skb->extensions
NO_OVERFLOW_SIMPLE 1 skb->len
NO_OVERFLOW_SIMPLE 1 skb->next->data_len
NO_OVERFLOW_SIMPLE 1 skb->next->end
NO_OVERFLOW_SIMPLE 1 skb->next->len
NO_OVERFLOW_SIMPLE 1 skb->next->tail
NO_OVERFLOW_SIMPLE 1 skb->next->truesize
NO_OVERFLOW_SIMPLE 1 skb->prev->data_len
NO_OVERFLOW_SIMPLE 1 skb->prev->end
NO_OVERFLOW_SIMPLE 1 skb->prev->len
NO_OVERFLOW_SIMPLE 1 skb->prev->tail
NO_OVERFLOW_SIMPLE 1 skb->prev->truesize
NO_OVERFLOW_SIMPLE 1 skb->sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 1 skb->tail
NO_OVERFLOW_SIMPLE 1 skb->truesize
UNITS 0 sk unit_byte
UNITS 1 skb unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->j1939_socks_lock
HALF_LOCKED2 &so->rx_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 sk
HALF_LOCKED2 0 &sk->sk_lock.slock