Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

net/sctp/stream.c sctp_process_strreset_addstrm_in() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->asoc 4096-ptr_max
PARAM_VALUE 0 ch->chunk_hdr 4096-ptr_max
PARAM_VALUE 0 ch->fast_retransmit 0
PARAM_VALUE 0 ch->frag_list.next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev 4096-ptr_max
PARAM_VALUE 0 ch->list.next 1-u64max
PARAM_VALUE 0 ch->list.prev 1-u64max
PARAM_VALUE 0 ch->refcnt.refs.counter 1
PARAM_VALUE 0 ch->singleton 1
PARAM_VALUE 0 ch->skb 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/sctp/stream.c sctp_process_strreset_inreq() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->asoc 4096-ptr_max
PARAM_VALUE 0 ch->chunk_hdr 4096-ptr_max
PARAM_VALUE 0 ch->fast_retransmit 0
PARAM_VALUE 0 ch->frag_list.next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev 4096-ptr_max
PARAM_VALUE 0 ch->list.next 1-u64max
PARAM_VALUE 0 ch->list.prev 1-u64max
PARAM_VALUE 0 ch->refcnt.refs.counter 1
PARAM_VALUE 0 ch->singleton 1
PARAM_VALUE 0 ch->skb 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/sctp/stream.c sctp_send_add_streams() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->asoc 4096-ptr_max
PARAM_VALUE 0 ch->chunk_hdr 4096-ptr_max
PARAM_VALUE 0 ch->fast_retransmit 0
PARAM_VALUE 0 ch->frag_list.next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev 4096-ptr_max
PARAM_VALUE 0 ch->list.next 1-u64max
PARAM_VALUE 0 ch->list.prev 1-u64max
PARAM_VALUE 0 ch->refcnt.refs.counter 1
PARAM_VALUE 0 ch->singleton 1
PARAM_VALUE 0 ch->skb 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 sk

net/sctp/stream.c sctp_send_reset_assoc() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->asoc 4096-ptr_max
PARAM_VALUE 0 ch->chunk_end 4096-ptr_max
PARAM_VALUE 0 ch->chunk_hdr 4096-ptr_max
PARAM_VALUE 0 ch->fast_retransmit 0
PARAM_VALUE 0 ch->frag_list.next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev 4096-ptr_max
PARAM_VALUE 0 ch->list.next 1-u64max
PARAM_VALUE 0 ch->list.prev 1-u64max
PARAM_VALUE 0 ch->refcnt.refs.counter 1
PARAM_VALUE 0 ch->singleton 1
PARAM_VALUE 0 ch->skb 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 sk

net/sctp/stream.c sctp_send_reset_streams() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->asoc 4096-ptr_max
PARAM_VALUE 0 ch->chunk_hdr 4096-ptr_max
PARAM_VALUE 0 ch->fast_retransmit 0
PARAM_VALUE 0 ch->frag_list.next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev 4096-ptr_max
PARAM_VALUE 0 ch->list.next 1-u64max
PARAM_VALUE 0 ch->list.prev 1-u64max
PARAM_VALUE 0 ch->refcnt.refs.counter 1
PARAM_VALUE 0 ch->singleton 1
PARAM_VALUE 0 ch->skb 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 sk

net/sctp/sm_make_chunk.c sctp_process_asconf() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->asoc 4096-ptr_max
PARAM_VALUE 0 ch->chunk_end 4096-ptr_max
PARAM_VALUE 0 ch->chunk_hdr 4096-ptr_max
PARAM_VALUE 0 ch->chunk_hdr->flags 0
PARAM_VALUE 0 ch->chunk_hdr->type 128
PARAM_VALUE 0 ch->fast_retransmit 0
PARAM_VALUE 0 ch->frag_list.next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.next->next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev->next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 ch->list.next 1-u64max
PARAM_VALUE 0 ch->list.next->next 1-u64max
PARAM_VALUE 0 ch->list.prev 1-u64max
PARAM_VALUE 0 ch->list.prev->next 1-u64max
PARAM_VALUE 0 ch->list.prev->prev 1-u64max
PARAM_VALUE 0 ch->refcnt.refs.counter 1
PARAM_VALUE 0 ch->singleton 1
PARAM_VALUE 0 ch->skb 4096-ptr_max
PARAM_VALUE 0 ch->skb->data_len 0
PARAM_VALUE 0 ch->skb->destructor 144410068879519744
PARAM_VALUE 0 ch->subh.addip_hdr 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.next->next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev->next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev->prev 4096-ptr_max
DATA_SOURCE 0 ch r sctp_make_asconf_ack
NOSPEC 0 ch->asoc->c.raw_addr_list_len
NOSPEC 0 ch->asoc->rwnd_over
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 ch->asoc->adv_peer_ack_point 1-u32max
USER_DATA 0 ch->asoc->c.raw_addr_list_len 0-65331[c][u]
USER_DATA 0 ch->asoc->force_delay 0-1
USER_DATA 0 ch->asoc->outqueue.outstanding_bytes 0-u32max[c][u]
USER_DATA 0 ch->asoc->peer.addip_disabled_mask 0-u16max[u]
USER_DATA 0 ch->asoc->peer.port 0-u16max
USER_DATA 0 ch->asoc->peer.primary_addr.v4.sin_port 0-u16max
USER_DATA 0 ch->asoc->peer.primary_addr.v6.sin6_port 0-u16max
USER_DATA 0 ch->asoc->peer.rwnd 1-u32max[c][u]
USER_DATA 0 ch->asoc->peer.tsn_map.base_tsn 0-u32max
USER_DATA 0 ch->asoc->rwnd_over 1-2147483646[c][u]
USER_DATA 0 ch->asoc->stream.incnt 0-u16max[c]
USER_DATA 0 ch->asoc->stream.outcnt 0-u16max[c]
USER_DATA 0 ch->chunk_hdr->length 0-u16max
USER_DATA 0 *ch->skb->data 0-255
NO_OVERFLOW_SIMPLE 0 ch->asoc->outqueue.out_qlen
NO_OVERFLOW_SIMPLE 0 ch->skb->data_len
NO_OVERFLOW_SIMPLE 0 ch->skb->end
NO_OVERFLOW_SIMPLE 0 ch->skb->len
NO_OVERFLOW_SIMPLE 0 ch->skb->tail
NO_OVERFLOW_SIMPLE 0 ch->skb->truesize
USER_PTR 0 ch->skb->data
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/sctp/ulpevent.c sctp_ulpevent_make_rcvmsg() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->chunk_hdr 4096-ptr_max
PARAM_VALUE 0 ch->skb 4096-ptr_max
PARAM_VALUE 0 ch->skb->cloned 1
PARAM_VALUE 0 ch->skb->data 4096-ptr_max
PARAM_VALUE 0 ch->skb->hdr_len 0
PARAM_VALUE 0 ch->skb->head 1-u64max
PARAM_VALUE 0 ch->skb->head_frag 0
PARAM_VALUE 0 ch->skb->nohdr 0
PARAM_VALUE 0 ch->skb->pp_recycle 0
PARAM_VALUE 0 ch->subh.data_hdr 4096-ptr_max
DATA_SOURCE 0 ch $1
NOCHECK_CALL

net/sctp/sm_statefuns.c sctp_send_next_asconf() -> sctp_chunk_hold()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/sctp/sm_statefuns.c sctp_sf_send_reconf() -> sctp_chunk_hold()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/sctp/sm_statefuns.c sctp_sf_t4_timer_expire() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/sctp/socket.c sctp_send_asconf() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->asoc 4096-ptr_max
PARAM_VALUE 0 ch->chunk_end 4096-ptr_max
PARAM_VALUE 0 ch->chunk_hdr 4096-ptr_max
PARAM_VALUE 0 ch->chunk_hdr->flags 0
PARAM_VALUE 0 ch->chunk_hdr->type 193
PARAM_VALUE 0 ch->fast_retransmit 0
PARAM_VALUE 0 ch->frag_list.next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.next->next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev->next 4096-ptr_max
PARAM_VALUE 0 ch->frag_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 ch->list.next 1-u64max
PARAM_VALUE 0 ch->list.next->next 1-u64max
PARAM_VALUE 0 ch->list.prev 1-u64max
PARAM_VALUE 0 ch->list.prev->next 1-u64max
PARAM_VALUE 0 ch->list.prev->prev 1-u64max
PARAM_VALUE 0 ch->param_hdr.v 4096-ptr_max
PARAM_VALUE 0 ch->refcnt.refs.counter 1
PARAM_VALUE 0 ch->singleton 1
PARAM_VALUE 0 ch->skb 4096-ptr_max
PARAM_VALUE 0 ch->skb->data_len 0
PARAM_VALUE 0 ch->skb->destructor 144410068879519744
PARAM_VALUE 0 ch->subh.addip_hdr 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.next->next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev->next 4096-ptr_max
PARAM_VALUE 0 ch->transmitted_list.prev->prev 4096-ptr_max
BUF_SIZE 0 ch (-1)-s32max
BUF_SIZE 0 ch (-1)-s32max
DATA_SOURCE 0 ch $1
NOSPEC 0 ch->asoc->rwnd_over
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 ch->asoc->adv_peer_ack_point 1-u32max
USER_DATA 0 ch->asoc->force_delay 0-1
USER_DATA 0 ch->asoc->peer.addip_disabled_mask 0-u16max[u]
USER_DATA 0 ch->asoc->peer.port 0-u16max
USER_DATA 0 ch->asoc->peer.primary_addr.sa.sa_family 2,10[c]
USER_DATA 0 ch->asoc->peer.primary_addr.v4.sin_addr.s_addr 0-u32max
USER_DATA 0 ch->asoc->peer.primary_addr.v4.sin_family 0-u16max
USER_DATA 0 ch->asoc->peer.primary_addr.v4.sin_port 0-u16max
USER_DATA 0 ch->asoc->peer.primary_addr.v6.sin6_family 0-u16max
USER_DATA 0 ch->asoc->peer.primary_addr.v6.sin6_flowinfo 0-u32max
USER_DATA 0 ch->asoc->peer.primary_addr.v6.sin6_port 0-u16max
USER_DATA 0 ch->asoc->peer.primary_addr.v6.sin6_scope_id 0-u32max
USER_DATA 0 ch->asoc->peer.tsn_map.base_tsn 0-u32max
USER_DATA 0 ch->asoc->rwnd_over 1-2147483646[c][u]
USER_DATA 0 ch->asoc->stream.incnt 0-u16max[c]
USER_DATA 0 ch->asoc->stream.outcnt 0-u16max[c]
USER_DATA 0 ch->chunk_hdr->length 0-u16max
USER_DATA 0 *ch->skb->data 0-255
NO_OVERFLOW_SIMPLE 0 ch->skb->data_len
NO_OVERFLOW_SIMPLE 0 ch->skb->end
NO_OVERFLOW_SIMPLE 0 ch->skb->len
NO_OVERFLOW_SIMPLE 0 ch->skb->tail
NO_OVERFLOW_SIMPLE 0 ch->skb->truesize
USER_PTR 0 ch->skb->data
HALF_LOCKED2 sk

net/sctp/socket.c sctp_sendmsg_to_asoc() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
CAPPED_DATA 0 &ch->frag_list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 ch->transport->cacc.next_tsn_at_change 0-u32max[u]
USER_DATA 0 ch->transport->flowlabel 1048576-2097151[c]
USER_DATA 0 ch->transport->ipaddr.sa.sa_family 2,10[c]
USER_DATA 0 ch->transport->ipaddr.v4.sin_addr.s_addr 0-u32max
USER_DATA 0 ch->transport->ipaddr.v4.sin_family 0-u16max
USER_DATA 0 ch->transport->ipaddr.v4.sin_port 0-u16max
USER_DATA 0 ch->transport->ipaddr.v6.sin6_family 0-u16max
USER_DATA 0 ch->transport->ipaddr.v6.sin6_flowinfo 0-u32max
USER_DATA 0 ch->transport->ipaddr.v6.sin6_port 0-u16max
USER_DATA 0 ch->transport->ipaddr.v6.sin6_scope_id 0-u32max
USER_DATA 0 ch->transport->packet.destination_port 0-u16max
USER_DATA 0 ch->transport->packet.source_port 0-u16max
NO_OVERFLOW_SIMPLE 0 ch->skb->sk->sk_backlog.len
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/sctp/associola.c sctp_assoc_lookup_asconf_ack() -> sctp_chunk_hold()

Type Parameter Key Value
PARAM_VALUE 0 ch 4096-ptr_max
PARAM_VALUE 0 ch->subh.addip_hdr 4096-ptr_max
PARAM_VALUE 0 ch->subh.addip_hdr->serial 0-4294967294
CAPPED_DATA 0 ch->subh.addip_hdr->serial 1
CAPPED_DATA 0 &ch->transmitted_list 1
PARAM_COMPARE 0 &ch->list == $0->list.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk