Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

net/mptcp/sockopt.c __mptcp_tcp_fallback() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
RX_PATH
LOCK2 sk

net/mptcp/sockopt.c mptcp_diag_fill_info() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING

net/mptcp/sched.c mptcp_sched_get_retrans() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 sk

net/mptcp/sched.c mptcp_sched_get_send() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 bh

net/mptcp/protocol.c __mptcp_add_backlog() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PREEMPT_ADD
UNITS 0 msk unit_byte
LOCK2 &sk->sk_lock.slock
LOCK2 bh
TYPE_LOCK (struct socket_lock_t)->slock

net/mptcp/protocol.c __mptcp_close_subflow() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
LOCK2 sk
HALF_LOCKED2 &pool->lock

net/mptcp/protocol.c __mptcp_move_skbs_from_subflow() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
PREEMPT_ADD
UNITS 0 msk unit_byte
LOCK2 &sk->sk_lock.slock
LOCK2 bh
TYPE_LOCK (struct socket_lock_t)->slock

net/mptcp/protocol.c __mptcp_push_retrans() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 bh
LOCK2 ssk
LOCK2 0 &msk->fallback_lock
TYPE_LOCK (struct mptcp_sock)->fallback_lock

net/mptcp/protocol.c __mptcp_retransmit_pending_data() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
LOCK2 ssk

net/mptcp/protocol.c __mptcp_subflow_error_report() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh

net/mptcp/protocol.c __mptcp_try_fallback() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
CAPPED_DATA 0 msk->__sk_common.skc_net.net 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte

net/mptcp/protocol.c mptcp_can_ingest() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max

net/mptcp/protocol.c mptcp_check_allowed_size() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 &msk->fallback_lock
HALF_LOCKED2 &ssk->sk_lock.slock
HALF_LOCKED2 bh
HALF_LOCKED2 sk
HALF_LOCKED2 ssk

net/mptcp/protocol.c mptcp_check_data_fin() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
CAPPED_DATA 0 msk->rcv_data_fin_seq 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 sk

net/mptcp/protocol.c mptcp_connect() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk

net/mptcp/protocol.c mptcp_do_fastclose() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 sk

net/mptcp/protocol.c mptcp_ioctl_outq() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
DATA_SOURCE 0 msk $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 sk

net/mptcp/protocol.c mptcp_subflow_shutdown() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
LOCK2 ssk
HALF_LOCKED2 sk
HALF_LOCKED2 sk

net/mptcp/options.c mptcp_established_options() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 &sk->sk_callback_lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/mptcp/options.c mptcp_incoming_options() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/mptcp/subflow.c mptcp_check_fallback() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 msk unit_byte

net/mptcp/subflow.c subflow_check_data_avail() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
PREEMPT_ADD
UNITS 0 msk unit_byte
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh

net/mptcp/subflow.c subflow_data_ready() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
UNITS 0 msk unit_byte

net/mptcp/subflow.c subflow_sched_work_if_closed() -> __mptcp_check_fallback()

Type Parameter Key Value
PARAM_VALUE 0 msk 4096-ptr_max
CAPPED_DATA 0 msk 1
DATA_SOURCE 0 msk $0
PREEMPT_ADD
UNITS 0 msk unit_byte