Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/sctp/sm_sideeffect.c sctp_cmd_new_state() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 3
DATA_SOURCE 0 asoc $1

net/sctp/sm_sideeffect.c sctp_cmd_new_state() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 6
DATA_SOURCE 0 asoc $1

net/sctp/sm_sideeffect.c sctp_cmd_new_state() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 1
DATA_SOURCE 0 asoc $1

net/sctp/sm_sideeffect.c sctp_cmd_new_state() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 3
DATA_SOURCE 0 asoc $1

net/sctp/sm_sideeffect.c sctp_cmd_new_state() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 3
DATA_SOURCE 0 asoc $1

net/sctp/sm_sideeffect.c sctp_cmd_new_state() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 0 asoc->state 0-2,4-u32max
PARAM_VALUE 1 state 0
DATA_SOURCE 0 asoc $1

net/sctp/sm_sideeffect.c sctp_cmd_new_state() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 0 asoc->state 1-2,4-u32max
PARAM_VALUE 1 state 6
DATA_SOURCE 0 asoc $1

net/sctp/sm_sideeffect.c sctp_cmd_new_state() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 4
DATA_SOURCE 0 asoc $1

net/sctp/sm_statefuns.c sctp_sf_do_dupcook_a() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 7
CAPPED_DATA 0 asoc->c.my_vtag 1
DATA_SOURCE 0 asoc $2
NOSPEC 0 asoc->c.raw_addr_list_len
NOSPEC 0 asoc->peer.port
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 asoc->addip_serial 0-u32max[u]
USER_DATA 0 asoc->c.adaptation_ind 0-u32max[u]
USER_DATA 0 asoc->c.expiration s64min-s64max
USER_DATA 0 asoc->c.initial_tsn 0-u32max[u]
USER_DATA 0 asoc->c.my_ttag 0-u32max
USER_DATA 0 asoc->c.padding 0-255[u]
USER_DATA 0 asoc->c.peer_addr.sa.sa_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v4.sin_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_flowinfo 0-u32max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_port 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_scope_id 0-u32max[u]
USER_DATA 0 asoc->c.peer_ttag 0-u32max
USER_DATA 0 asoc->c.peer_vtag 0-u32max
USER_DATA 0 asoc->c.prsctp_capable 0-255[u]
USER_DATA 0 asoc->c.raw_addr_list_len 0-65331[c][u]
USER_DATA 0 asoc->c.sinit_max_instreams 0-u16max[u]
USER_DATA 0 asoc->c.sinit_num_ostreams 0-u16max[u]
USER_DATA 0 asoc->force_delay 0-1
USER_DATA 0 asoc->next_tsn 0-u32max[u]
USER_DATA 0 asoc->peer.adaptation_ind 0-u32max
USER_DATA 0 asoc->peer.port 0-u16max
USER_DATA 0 asoc->peer.primary_addr.sa.sa_family 2,10[c]
USER_DATA 0 asoc->peer.primary_addr.v4.sin_family 0-u16max
USER_DATA 0 asoc->peer.primary_addr.v4.sin_port 0-u16max
USER_DATA 0 asoc->peer.primary_addr.v6.sin6_family 0-u16max
USER_DATA 0 asoc->peer.primary_addr.v6.sin6_flowinfo 0-u32max
USER_DATA 0 asoc->peer.primary_addr.v6.sin6_port 0-u16max
USER_DATA 0 asoc->peer.primary_addr.v6.sin6_scope_id 0-u32max
USER_DATA 0 asoc->peer.prsctp_capable 0-1[u]
USER_DATA 0 asoc->peer.tsn_map.base_tsn 0-u32max
USER_DATA 0 asoc->strreset_outseq 0-u32max[u]
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/sctp/sm_statefuns.c sctp_sf_do_dupcook_a() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 0 asoc->state 0-6,8-u32max
PARAM_VALUE 1 state 4
CAPPED_DATA 0 asoc->c.my_vtag 1
DATA_SOURCE 0 asoc $2
NOSPEC 0 asoc->c.raw_addr_list_len
NOSPEC 0 asoc->peer.port
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 asoc->addip_serial 0-u32max[u]
USER_DATA 0 asoc->c.adaptation_ind 0-u32max[u]
USER_DATA 0 asoc->c.expiration s64min-s64max
USER_DATA 0 asoc->c.initial_tsn 0-u32max[u]
USER_DATA 0 asoc->c.my_ttag 0-u32max
USER_DATA 0 asoc->c.padding 0-255[u]
USER_DATA 0 asoc->c.peer_addr.sa.sa_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v4.sin_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_flowinfo 0-u32max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_port 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_scope_id 0-u32max[u]
USER_DATA 0 asoc->c.peer_ttag 0-u32max
USER_DATA 0 asoc->c.peer_vtag 0-u32max
USER_DATA 0 asoc->c.prsctp_capable 0-255[u]
USER_DATA 0 asoc->c.raw_addr_list_len 0-65331[c][u]
USER_DATA 0 asoc->c.sinit_max_instreams 0-u16max[u]
USER_DATA 0 asoc->c.sinit_num_ostreams 0-u16max[u]
USER_DATA 0 asoc->force_delay 0-1
USER_DATA 0 asoc->next_tsn 0-u32max[u]
USER_DATA 0 asoc->peer.adaptation_ind 0-u32max
USER_DATA 0 asoc->peer.port 0-u16max
USER_DATA 0 asoc->peer.prsctp_capable 0-1[u]
USER_DATA 0 asoc->peer.tsn_map.base_tsn 0-u32max
USER_DATA 0 asoc->strreset_outseq 0-u32max[u]
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/sctp/sm_statefuns.c sctp_sf_do_dupcook_a() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 0 asoc->state 0-3,5-6,8-u32max
PARAM_VALUE 1 state 5
CAPPED_DATA 0 asoc->c.my_vtag 1
DATA_SOURCE 0 asoc $2
NOSPEC 0 asoc->c.raw_addr_list_len
NOSPEC 0 asoc->peer.port
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 asoc->addip_serial 0-u32max[u]
USER_DATA 0 asoc->c.adaptation_ind 0-u32max[u]
USER_DATA 0 asoc->c.expiration s64min-s64max
USER_DATA 0 asoc->c.initial_tsn 0-u32max[u]
USER_DATA 0 asoc->c.my_ttag 0-u32max
USER_DATA 0 asoc->c.padding 0-255[u]
USER_DATA 0 asoc->c.peer_addr.sa.sa_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v4.sin_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_flowinfo 0-u32max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_port 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_scope_id 0-u32max[u]
USER_DATA 0 asoc->c.peer_ttag 0-u32max
USER_DATA 0 asoc->c.peer_vtag 0-u32max
USER_DATA 0 asoc->c.prsctp_capable 0-255[u]
USER_DATA 0 asoc->c.raw_addr_list_len 0-65331[c][u]
USER_DATA 0 asoc->c.sinit_max_instreams 0-u16max[u]
USER_DATA 0 asoc->c.sinit_num_ostreams 0-u16max[u]
USER_DATA 0 asoc->force_delay 0-1
USER_DATA 0 asoc->next_tsn 0-u32max[u]
USER_DATA 0 asoc->peer.adaptation_ind 0-u32max
USER_DATA 0 asoc->peer.port 0-u16max
USER_DATA 0 asoc->peer.prsctp_capable 0-1[u]
USER_DATA 0 asoc->peer.tsn_map.base_tsn 0-u32max
USER_DATA 0 asoc->strreset_outseq 0-u32max[u]
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/sctp/sm_statefuns.c sctp_sf_do_unexpected_init() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 1
DATA_SOURCE 0 asoc $2
NOSPEC 0 asoc->c.raw_addr_list_len
NOSPEC 0 asoc->peer.port
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 asoc->addip_serial 0-u32max[u]
USER_DATA 0 asoc->c.adaptation_ind 0-u32max[u]
USER_DATA 0 asoc->c.expiration s64min-s64max
USER_DATA 0 asoc->c.initial_tsn 0-u32max[u]
USER_DATA 0 asoc->c.my_ttag 0-u32max
USER_DATA 0 asoc->c.padding 0-255[u]
USER_DATA 0 asoc->c.peer_addr.sa.sa_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v4.sin_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_flowinfo 0-u32max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_port 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_scope_id 0-u32max[u]
USER_DATA 0 asoc->c.peer_ttag 0-u32max
USER_DATA 0 asoc->c.peer_vtag 0-u32max
USER_DATA 0 asoc->c.prsctp_capable 0-255[u]
USER_DATA 0 asoc->c.raw_addr_list_len 0-65331[c][u]
USER_DATA 0 asoc->c.sinit_max_instreams 0-u16max[u]
USER_DATA 0 asoc->c.sinit_num_ostreams 0-u16max[u]
USER_DATA 0 asoc->force_delay 0-1
USER_DATA 0 asoc->next_tsn 0-u32max[u]
USER_DATA 0 asoc->peer.adaptation_ind 0-u32max
USER_DATA 0 asoc->peer.port 0-u16max
USER_DATA 0 asoc->peer.primary_addr.sa.sa_family 2,10[c]
USER_DATA 0 asoc->peer.primary_addr.v4.sin_family 0-u16max
USER_DATA 0 asoc->peer.primary_addr.v4.sin_port 0-u16max
USER_DATA 0 asoc->peer.primary_addr.v6.sin6_family 0-u16max
USER_DATA 0 asoc->peer.primary_addr.v6.sin6_flowinfo 0-u32max
USER_DATA 0 asoc->peer.primary_addr.v6.sin6_port 0-u16max
USER_DATA 0 asoc->peer.primary_addr.v6.sin6_scope_id 0-u32max
USER_DATA 0 asoc->peer.prsctp_capable 0-1[u]
USER_DATA 0 asoc->peer.tsn_map.base_tsn 0-u32max
USER_DATA 0 asoc->strreset_outseq 0-u32max[u]
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/sctp/socket.c sctp_close() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 sk

net/sctp/socket.c sctp_send_asconf_add_ip() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 3
CAPPED_DATA 0 &asoc->asocs 1
BIT_INFO 0 asoc->peer.addip_disabled_mask 0x0,0xfe3f
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &net->sctp.addr_wq_lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh
HALF_LOCKED2 sk

net/sctp/socket.c sctp_send_asconf_del_ip() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 3
CAPPED_DATA 0 &asoc->asocs 1
BIT_INFO 0 asoc->peer.addip_disabled_mask 0x0,0xfd3f
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &net->sctp.addr_wq_lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh
HALF_LOCKED2 sk

net/sctp/socket.c sctp_sendmsg_check_sflags() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 0
DATA_SOURCE 0 asoc $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/sctp/socket.c sctp_sendmsg_check_sflags() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 3
DATA_SOURCE 0 asoc $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 0
CAPPED_DATA 0 asoc->base.sk 1
DATA_SOURCE 0 asoc $0
NOSPEC 0 asoc->c.raw_addr_list_len
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 asoc->addip_serial 0-u32max[u]
USER_DATA 0 asoc->c.adaptation_ind 0-u32max[u]
USER_DATA 0 asoc->c.expiration s64min-s64max
USER_DATA 0 asoc->c.initial_tsn 0-u32max[u]
USER_DATA 0 asoc->c.my_ttag 0-u32max
USER_DATA 0 asoc->c.padding 0-255[u]
USER_DATA 0 asoc->c.peer_addr.sa.sa_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v4.sin_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_family 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_flowinfo 0-u32max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_port 0-u16max[u]
USER_DATA 0 asoc->c.peer_addr.v6.sin6_scope_id 0-u32max[u]
USER_DATA 0 asoc->c.peer_ttag 0-u32max
USER_DATA 0 asoc->c.peer_vtag 0-u32max
USER_DATA 0 asoc->c.prsctp_capable 0-255[u]
USER_DATA 0 asoc->c.raw_addr_list_len 0-65331[c][u]
USER_DATA 0 asoc->c.sinit_max_instreams 0-u16max[u]
USER_DATA 0 asoc->c.sinit_num_ostreams 0-u16max[u]
USER_DATA 0 asoc->default_hmac_id 0-3
USER_DATA 0 asoc->force_delay 0-1
USER_DATA 0 asoc->next_tsn 0-u32max[u]
USER_DATA 0 asoc->peer.adaptation_ind 0-u32max[u]
USER_DATA 0 asoc->peer.port 0-u16max
USER_DATA 0 asoc->peer.prsctp_capable 0-1[u]
USER_DATA 0 asoc->peer.tsn_map.base_tsn 0-u32max
USER_DATA 0 asoc->strreset_outseq 0-u32max[u]
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/sctp/socket.c sctp_setsockopt_peer_primary_addr() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 3
DATA_SOURCE 0 asoc r sctp_id2assoc
BIT_INFO 0 asoc->peer.addip_disabled_mask 0x0,0xfb3f
RX_PATH
TASK_NOT_RUNNING
LOCK2 sk

net/sctp/socket.c sctp_sock_migrate() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 0
CAPPED_DATA 0 asoc 1
DATA_SOURCE 0 asoc $2
RX_PATH
LOCK2 newsk
LOCK2 oldsk

net/sctp/socket.c sctp_wait_for_connect() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 0 asoc->state 0-3
PARAM_VALUE 1 state 3
DATA_SOURCE 0 asoc $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 sk
HALF_LOCKED2 sk

net/sctp/output.c sctp_packet_can_append_data() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 1 state 3
RX_PATH
TASK_NOT_RUNNING

net/sctp/output.c sctp_packet_transmit() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 1 state 3
RX_PATH
TASK_NOT_RUNNING

net/sctp/associola.c sctp_assoc_update() -> __sctp_state()

Type Parameter Key Value
PARAM_VALUE 0 asoc 4096-ptr_max
PARAM_VALUE 0 asoc->state 0-2
PARAM_VALUE 1 state 1
CAPPED_DATA 0 asoc->c.my_port 1
CAPPED_DATA 0 asoc->c.my_vtag 1
CAPPED_DATA 0 asoc->c.peer_addr.v4.sin_port 1
CAPPED_DATA 0 asoc->c.raw_addr_list_len 1
CAPPED_DATA 0 &asoc->peer.transport_addr_list 1
DATA_SOURCE 0 asoc $0
NOSPEC 0 asoc->c.raw_addr_list_len
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 asoc->c.adaptation_ind 0-u32max[u]
USER_DATA 0 asoc->c.expiration s64min-s64max
USER_DATA 0 asoc->c.initial_tsn 0-u32max[u]
USER_DATA 0 asoc->c.my_ttag 0-u32max
USER_DATA 0 asoc->c.padding 0-255[u]
USER_DATA 0 asoc->c.peer_ttag 0-u32max
USER_DATA 0 asoc->c.peer_vtag 0-u32max
USER_DATA 0 asoc->c.prsctp_capable 0-255[u]
USER_DATA 0 asoc->c.raw_addr_list_len 0-65331[c][u]
USER_DATA 0 asoc->c.sinit_max_instreams 0-65534[c]
USER_DATA 0 asoc->c.sinit_num_ostreams 0-65534[c]
USER_DATA 0 asoc->force_delay 0-1
USER_DATA 0 asoc->peer.i.a_rwnd 0-u32max
USER_DATA 0 asoc->peer.i.init_tag 0-u32max
USER_DATA 0 asoc->peer.i.initial_tsn 0-u32max
USER_DATA 0 asoc->peer.i.num_inbound_streams 0-u16max
USER_DATA 0 asoc->peer.i.num_outbound_streams 0-u16max
USER_DATA 0 asoc->peer.port 0-u16max
USER_DATA 0 asoc->peer.rwnd 0-u32max
USER_DATA 0 asoc->peer.tsn_map.base_tsn 0-u32max
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk