Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

net/ipv6/datagram.c ip6_datagram_send_ctl() -> ipv6_chk_addr_and_flags()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->ipv6.sysctl.ip_nonlocal_bind 0
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 4 strict 0
PARAM_VALUE 5 banned_flags 64
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read

net/ipv6/ip6_tunnel.c ip6_tnl_rcv_ctl() -> ipv6_chk_addr_and_flags()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 3 skip_dev_check 0
PARAM_VALUE 4 strict 0
PARAM_VALUE 5 banned_flags 64
DATA_SOURCE 1 addr $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read

net/ipv6/ip6_tunnel.c ip6_tnl_rcv_ctl() -> ipv6_chk_addr_and_flags()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 3 skip_dev_check 1
PARAM_VALUE 4 strict 0
PARAM_VALUE 5 banned_flags 64
CAPPED_DATA 2 dev 1
DATA_SOURCE 1 addr $2
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read

net/ipv6/ip6_tunnel.c ip6_tnl_xmit_ctl() -> ipv6_chk_addr_and_flags()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 3 skip_dev_check 0
PARAM_VALUE 4 strict 0
PARAM_VALUE 5 banned_flags 64
DATA_SOURCE 1 addr $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read

net/ipv6/ip6_tunnel.c ip6_tnl_xmit_ctl() -> ipv6_chk_addr_and_flags()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 3 skip_dev_check 1
PARAM_VALUE 4 strict 0
PARAM_VALUE 5 banned_flags 64
CAPPED_DATA 2 dev 1
DATA_SOURCE 1 addr $2
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read

net/ipv6/addrconf.c ipv6_chk_addr() -> ipv6_chk_addr_and_flags()

Type Parameter Key Value
PARAM_VALUE 0 net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 0 net->ipv4.fqdir->f->qsize 0,304,320
PARAM_VALUE 2 dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 2 dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
PARAM_VALUE 2 dev->ndisc_ops->fill_addr_option 4096-ptr_max
PARAM_VALUE 2 dev->ndisc_ops->parse_options 4096-ptr_max
PARAM_VALUE 2 dev->ndisc_ops->update 4096-ptr_max
PARAM_VALUE 2 dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 2 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
PARAM_VALUE 4 strict 0-1
PARAM_VALUE 5 banned_flags 64
BUF_SIZE 0 net (-1),1-s32max
BUF_SIZE 0 net (-1),1-s32max
BUF_SIZE 1 addr (-1),2,4,8,12,16,24,32
BUF_SIZE 1 addr (-1),2,4,8,12,16,24,32
DATA_SOURCE 0 net $0
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 dev $2
DATA_SOURCE 4 strict $3
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 2 dev->group
NO_OVERFLOW_SIMPLE 2 dev->num_napi_configs
NO_OVERFLOW_SIMPLE 2 dev->num_rx_queues
NO_OVERFLOW_SIMPLE 2 dev->num_tc
NO_OVERFLOW_SIMPLE 2 dev->num_tx_queues
NO_OVERFLOW_SIMPLE 2 dev->proto_down
NO_OVERFLOW_SIMPLE 2 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 2 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 2 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 2 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 2 dev->tx_queue_len
UNITS 0 net unit_byte
UNITS 1 addr unit_byte
UNITS 2 dev unit_byte
USER_PTR 1 addr
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk
HALF_LOCKED2 0 &net->ipv4.mfc_mutex
HALF_LOCKED2 0 &net->ipv6.mfc_mutex
HALF_LOCKED2 0 &net->sctp.addr_wq_lock

net/ipv6/anycast.c ipv6_sock_ac_join() -> ipv6_chk_addr_and_flags()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 addr 6744988681408958464
PARAM_VALUE 2 dev 0,4096-ptr_max
PARAM_VALUE 2 dev->refcnt_tracker.list.next 4096-ptr_max
PARAM_VALUE 2 dev->refcnt_tracker.list.next->next 4096-ptr_max
PARAM_VALUE 2 dev->refcnt_tracker.list.next->prev 4096-ptr_max
PARAM_VALUE 3 skip_dev_check 1
PARAM_VALUE 4 strict 0
PARAM_VALUE 5 banned_flags 64
DATA_SOURCE 1 addr $2
NS_CAPABLE 0 12
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
HALF_LOCKED2 sk

net/ipv6/route.c ip6_validate_gw() -> ipv6_chk_addr_and_flags()

Type Parameter Key Value
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 skip_dev_check 1
PARAM_VALUE 4 strict 0
PARAM_VALUE 5 banned_flags 0
BUF_SIZE 1 addr 16
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &net->rtnl_mutex

net/ipv6/route.c ip6_validate_gw() -> ipv6_chk_addr_and_flags()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 skip_dev_check 1
PARAM_VALUE 4 strict 0
PARAM_VALUE 5 banned_flags 0
BUF_SIZE 1 addr 16
DATA_SOURCE 0 net $0
BIT_INFO 2 dev->flags 0x0,0xfffffff7
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &net->rtnl_mutex

net/ipv6/ndisc.c ndisc_solicit() -> ipv6_chk_addr_and_flags()

Type Parameter Key Value
PARAM_VALUE 2 dev 4096-ptr_max
PARAM_VALUE 3 skip_dev_check 0
PARAM_VALUE 4 strict 1
PARAM_VALUE 5 banned_flags 68
CAPPED_DATA 2 dev->nd_net.net 1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 dev unit_byte
HALF_LOCKED2 bh