Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 15 files:

Smatch caller information:

net/ipv4/tcp_ipv4.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv6/datagram.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 sk

net/ipv6/netfilter/ip6t_rpfilter.c rpfilter_lookup_reverse6() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
DATA_SOURCE 0 dev $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &table->lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv6/netfilter/ip6t_rpfilter.c rpfilter_lookup_reverse6() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 &table->lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv4/fib_frontend.c __fib_validate_source() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->nd_net.net 1
DATA_SOURCE 0 dev $5
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
HALF_LOCKED2 rcu_read

net/ipv4/fib_frontend.c fib_compute_spec_dst() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ip_ptr 1
CAPPED_DATA 0 dev->nd_net.net 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
HALF_LOCKED2 bh

net/ipv4/fib_frontend.c nhc_l3mdev_matches_dev() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
HALF_LOCKED2 rcu_read

net/ipv4/syncookies.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/raw.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/ipv6/ping.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/ipv6/tcp_ao.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 sk

net/ipv4/tcp_input.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/xfrm4_policy.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv6/inet6_hashtables.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &head->lock
HALF_LOCKED2 bh
HALF_LOCKED2 sk

net/ipv6/ipv6_sockglue.c do_ipv6_setsockopt() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv6/ipv6_sockglue.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 sk

net/ipv4/ip_sockglue.c l3mdev_master_ifindex() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 sk

net/ipv6/addrconf.c ipv6_dev_get_saddr() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rx_queue_mutex

net/ipv4/inet_connection_sock.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 global &port_mutex
HALF_LOCKED2 sk

net/l3mdev/l3mdev.c l3mdev_update_flow() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/l3mdev/l3mdev.c l3mdev_update_flow() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv4/udp.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv4/inet_hashtables.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &head->lock
HALF_LOCKED2 sk

net/ipv4/arp.c arp_filter() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->ip_ptr 1
CAPPED_DATA 0 dev->nd_net.net 1
DATA_SOURCE 0 dev $2
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
HALF_LOCKED2 &tbl->proxy_queue.lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv6/netfilter.c l3mdev_master_ifindex() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv4/icmp.c icmpv4_xrlim_allow() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 0,4096-ptr_max
DATA_SOURCE 0 dev r dst_dev_rcu
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 rcu_read

net/ipv4/icmp.c l3mdev_master_ifindex() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
LOCK2 bh
LOCK2 rcu_read

net/ipv4/tcp_ao.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 sk

net/ipv4/ip_fragment.c ip_defrag() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 bh

net/ipv4/netfilter.c l3mdev_master_ifindex() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv6/route.c l3mdev_master_ifindex() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->nd_net.net 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
LOCK2 rcu_read

net/ipv6/tcp_ipv6.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv6/netfilter/nf_reject_ipv6.c l3mdev_master_ifindex() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv6/xfrm6_policy.c l3mdev_master_ifindex_by_index() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv4/netfilter/nft_fib_ipv4.c nft_fib_l3mdev_master_ifindex_rcu() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
UNITS 0 dev unit_byte

net/ipv4/netfilter/ipt_rpfilter.c rpfilter_mt() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &table->lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv6/netfilter/nft_fib_ipv6.c nft_fib6_info_nh_dev_match() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte

net/ipv6/netfilter/nft_fib_ipv6.c nft_fib_l3mdev_master_ifindex_rcu() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
UNITS 0 dev unit_byte

net/ipv6/icmp.c l3mdev_master_ifindex() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->nd_net.net 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &x->lock
HALF_LOCKED2 bh

net/ipv4/route.c ip_error() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 bh

net/ipv4/route.c ip_rt_send_redirect() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ip_ptr 1
DATA_SOURCE 0 dev r dst_dev_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 bh

net/ipv4/devinet.c inet_select_addr() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ip_ptr 1
CAPPED_DATA 0 dev->nd_net.net 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &ipvs->sync_mutex
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex

net/ipv4/devinet.c inet_select_addr() -> l3mdev_master_ifindex_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0 [m]
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &ipvs->sync_mutex
HALF_LOCKED2 bh
HALF_LOCKED2 global &rtnl_mutex