Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/ipv4/nexthop.c insert_nexthop() -> call_nexthop_notifiers()

Type Parameter Key Value
PARAM_VALUE 0 net->nexthop.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 event_type 1
PARAM_VALUE 2 nh 4096-ptr_max
PARAM_VALUE 2 nh->f6i_list.next 4096-ptr_max
PARAM_VALUE 2 nh->f6i_list.next->next 4096-ptr_max
PARAM_VALUE 2 nh->f6i_list.prev 4096-ptr_max
PARAM_VALUE 2 nh->f6i_list.prev->next 4096-ptr_max
PARAM_VALUE 2 nh->f6i_list.prev->prev 4096-ptr_max
PARAM_VALUE 2 nh->fdb_list.next 4096-ptr_max
PARAM_VALUE 2 nh->fdb_list.next->next 4096-ptr_max
PARAM_VALUE 2 nh->fdb_list.prev 4096-ptr_max
PARAM_VALUE 2 nh->fdb_list.prev->next 4096-ptr_max
PARAM_VALUE 2 nh->fdb_list.prev->prev 4096-ptr_max
PARAM_VALUE 2 nh->fi_list.next 4096-ptr_max
PARAM_VALUE 2 nh->fi_list.next->next 4096-ptr_max
PARAM_VALUE 2 nh->fi_list.prev 4096-ptr_max
PARAM_VALUE 2 nh->fi_list.prev->next 4096-ptr_max
PARAM_VALUE 2 nh->fi_list.prev->prev 4096-ptr_max
PARAM_VALUE 2 nh->grp_list.next 4096-ptr_max
PARAM_VALUE 2 nh->grp_list.next->next 4096-ptr_max
PARAM_VALUE 2 nh->grp_list.prev 4096-ptr_max
PARAM_VALUE 2 nh->grp_list.prev->next 4096-ptr_max
PARAM_VALUE 2 nh->grp_list.prev->prev 4096-ptr_max
PARAM_VALUE 2 nh->id 1-u32max
PARAM_VALUE 2 nh->net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 2 nh->net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 2 nh->nh_grp 4096-ptr_max
PARAM_VALUE 2 nh->nh_info 4096-ptr_max
PARAM_VALUE 2 nh->protocol 0
PARAM_VALUE 2 nh->rb_node.__rb_parent_color 1
PARAM_VALUE 2 nh->rb_node.rb_left 4096-ptr_max
PARAM_VALUE 2 nh->rb_node.rb_right 4096-ptr_max
PARAM_VALUE 2 nh->refcnt.refs.counter 1
PARAM_VALUE 3 extack 4971238048455385088
PARAM_VALUE 3 extack->bad_attr 0
PARAM_VALUE 3 extack->bad_attr->nla_len 4-u16max
PARAM_VALUE 3 extack->policy 0
PARAM_VALUE 3 *extack->_msg_buf 0-255
BUF_SIZE 2 nh 208
CAPPED_DATA 2 nh->nh_grp 1
CAPPED_DATA 2 &nh->rb_node 1
DATA_SOURCE 0 net $0
DATA_SOURCE 2 nh $1
DATA_SOURCE 3 extack $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 nh->nh_flags 0-6[c]
USER_DATA 2 nh->protocol 0
UNITS 0 net unit_byte
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv4/nexthop.c remove_nexthop() -> call_nexthop_notifiers()

Type Parameter Key Value
PARAM_VALUE 1 event_type 0
PARAM_VALUE 3 extack 0
DATA_SOURCE 0 net $0
DATA_SOURCE 2 nh $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 net unit_byte
HALF_LOCKED2 global &pernet_ops_rwsem
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &net->rtnl_mutex

net/ipv4/nexthop.c remove_nh_grp_entry() -> call_nexthop_notifiers()

Type Parameter Key Value
PARAM_VALUE 1 event_type 1
PARAM_VALUE 2 nh 4096-ptr_max
PARAM_VALUE 2 nh->nh_grp 4096-ptr_max
PARAM_VALUE 2 nh->nh_info 4096-ptr_max
PARAM_VALUE 3 extack 9074747737815236608
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/ipv4/nexthop.c replace_nexthop_grp() -> call_nexthop_notifiers()

Type Parameter Key Value
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 event_type 1
PARAM_VALUE 2 nh 4096-ptr_max
PARAM_VALUE 2 nh->id 1-u32max
PARAM_VALUE 2 nh->is_group 1
PARAM_VALUE 2 nh->net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 2 nh->net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 2 nh->nh_grp 4096-ptr_max
PARAM_VALUE 2 nh->nh_grp->hash_threshold 1
PARAM_VALUE 2 nh->nh_info 4096-ptr_max
PARAM_VALUE 2 nh->nh_info->fdb_nh 0
PARAM_VALUE 2 nh->nh_info->fib_nhc.nhc_gw_family 0,2,10
PARAM_VALUE 2 nh->refcnt.refs.counter 1
PARAM_VALUE 3 extack 4971238048455385088
PARAM_VALUE 3 extack->bad_attr 0
PARAM_VALUE 3 extack->cookie_len 0
PARAM_VALUE 3 extack->miss_nest 0
PARAM_VALUE 3 extack->miss_type 0
PARAM_VALUE 3 extack->policy 0
PARAM_VALUE 3 *extack->_msg_buf 0-255
CAPPED_DATA 2 nh->nh_grp 1
CAPPED_DATA 2 nh->nh_info 1
DATA_SOURCE 0 net $0
DATA_SOURCE 2 nh $2
DATA_SOURCE 3 extack $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 nh->nh_flags 0-6[c]
USER_DATA 2 nh->protocol 0-255
UNITS 0 net unit_byte
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv4/nexthop.c replace_nexthop_single() -> call_nexthop_notifiers()

Type Parameter Key Value
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 event_type 1
PARAM_VALUE 2 nh 4096-ptr_max
PARAM_VALUE 2 nh->id 1-u32max
PARAM_VALUE 2 nh->is_group 0
PARAM_VALUE 2 nh->net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 2 nh->net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 2 nh->nh_grp 4096-ptr_max
PARAM_VALUE 2 nh->nh_info 4096-ptr_max
PARAM_VALUE 2 nh->nh_info->fdb_nh 0
PARAM_VALUE 2 nh->nh_info->fib_nhc.nhc_gw_family 0,2,10
PARAM_VALUE 2 nh->refcnt.refs.counter 1
PARAM_VALUE 3 extack 4971238048455385088
PARAM_VALUE 3 extack->bad_attr 0
PARAM_VALUE 3 extack->cookie_len 0
PARAM_VALUE 3 extack->miss_nest 0
PARAM_VALUE 3 extack->miss_type 0
PARAM_VALUE 3 extack->policy 0
PARAM_VALUE 3 *extack->_msg_buf 0-255
CAPPED_DATA 2 nh->nh_info 1
DATA_SOURCE 0 net $0
DATA_SOURCE 2 nh $2
DATA_SOURCE 3 extack $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 nh->nh_flags 0-6[c]
USER_DATA 2 nh->protocol 0-255
UNITS 0 net unit_byte
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv4/nexthop.c replace_nexthop_single() -> call_nexthop_notifiers()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 event_type 1
PARAM_VALUE 2 nh 4096-ptr_max
PARAM_VALUE 2 nh->id 1-u32max
PARAM_VALUE 2 nh->is_group 0
PARAM_VALUE 2 nh->nh_grp 4096-ptr_max
PARAM_VALUE 2 nh->nh_info 4096-ptr_max
PARAM_VALUE 2 nh->nh_info->nh_parent->id 1-u32max
PARAM_VALUE 2 nh->nh_info->nh_parent->nh_grp 4096-ptr_max
PARAM_VALUE 2 nh->nh_info->nh_parent->nh_info 4096-ptr_max
PARAM_VALUE 2 nh->nh_info->nh_parent->refcnt.refs.counter 1
PARAM_VALUE 3 extack 4971238048455385088
PARAM_VALUE 3 extack->bad_attr 0
PARAM_VALUE 3 extack->cookie_len 0
PARAM_VALUE 3 extack->miss_nest 0
PARAM_VALUE 3 extack->miss_type 0
PARAM_VALUE 3 extack->policy 0
PARAM_VALUE 3 *extack->_msg_buf 0-255
CAPPED_DATA 2 nh 1
CAPPED_DATA 2 nh->id 1
CAPPED_DATA 2 &nh->grp_list 1
DATA_SOURCE 0 net $0
DATA_SOURCE 2 nh $1
DATA_SOURCE 3 extack $3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 net unit_byte
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv4/nexthop.c replace_nexthop_single_notify() -> call_nexthop_notifiers()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 event_type 1
PARAM_VALUE 2 nh 4096-ptr_max
PARAM_VALUE 2 nh->nh_grp 4096-ptr_max
PARAM_VALUE 2 nh->nh_grp->hash_threshold 1
PARAM_VALUE 3 extack 0,4971238048455385088
PARAM_VALUE 3 extack->bad_attr 0
PARAM_VALUE 3 extack->cookie_len 0
PARAM_VALUE 3 extack->miss_nest 0
PARAM_VALUE 3 extack->miss_type 0
PARAM_VALUE 3 extack->policy 0
PARAM_VALUE 3 *extack->_msg_buf 0-255
DATA_SOURCE 0 net $0
DATA_SOURCE 2 nh $1
DATA_SOURCE 3 extack $5
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex