Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

net/openvswitch/flow_table.c table_instance_flow_flush() -> ovs_flow_free()

Type Parameter Key Value
PARAM_VALUE 0 flow 4096-ptr_max
PARAM_VALUE 0 flow->flow_table.node 4096-ptr_max
PARAM_VALUE 0 flow->id.ufid_len 0-1
PARAM_VALUE 0 flow->mask 0,4096-ptr_max
PARAM_VALUE 1 deferred 1
CAPPED_DATA 0 flow->mask 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &ovs_mutex

net/openvswitch/datapath.c ovs_flow_cmd_del() -> ovs_flow_free()

Type Parameter Key Value
PARAM_VALUE 0 flow 4096-ptr_max
PARAM_VALUE 0 flow->id.ufid_len 0-1
PARAM_VALUE 0 flow->mask 4096-ptr_max
PARAM_VALUE 1 deferred 1
CAPPED_DATA 0 flow->id.ufid_len 1
CAPPED_DATA 0 flow->mask 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
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 &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/openvswitch/datapath.c ovs_flow_cmd_new() -> ovs_flow_free()

Type Parameter Key Value
PARAM_VALUE 0 flow 4096-ptr_max
PARAM_VALUE 0 flow->cpu_used_mask 4096-ptr_max
PARAM_VALUE 0 flow->cpu_used_mask->bits 4096-ptr_max
PARAM_VALUE 0 flow->id.ufid_len 0-1
PARAM_VALUE 0 flow->stats 4096-ptr_max
PARAM_VALUE 0 flow->stats_last_writer (-1)
PARAM_VALUE 1 deferred 0
CAPPED_DATA 0 flow->id.ufid_len 1
DATA_SOURCE 0 flow r ovs_flow_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
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 &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/openvswitch/datapath.c ovs_flow_cmd_new() -> ovs_flow_free()

Type Parameter Key Value
PARAM_VALUE 0 flow 4096-ptr_max
PARAM_VALUE 0 flow->cpu_used_mask 4096-ptr_max
PARAM_VALUE 0 flow->cpu_used_mask->bits 4096-ptr_max
PARAM_VALUE 0 flow->stats 4096-ptr_max
PARAM_VALUE 0 flow->stats_last_writer (-1)
PARAM_VALUE 1 deferred 0
DATA_SOURCE 0 flow r ovs_flow_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
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 &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/openvswitch/datapath.c ovs_packet_cmd_execute() -> ovs_flow_free()

Type Parameter Key Value
PARAM_VALUE 0 flow 4096-ptr_max
PARAM_VALUE 0 flow->cpu_used_mask 4096-ptr_max
PARAM_VALUE 0 flow->cpu_used_mask->bits 4096-ptr_max
PARAM_VALUE 0 flow->key->eth.dst 0-255
PARAM_VALUE 0 flow->key->eth.src 0-255
PARAM_VALUE 0 flow->key->ipv4.arp.sha 0-255
PARAM_VALUE 0 flow->key->ipv4.arp.tha 0-255
PARAM_VALUE 0 flow->key->ipv6.nd.sll 0-255
PARAM_VALUE 0 flow->key->ipv6.nd.tll 0-255
PARAM_VALUE 0 flow->key->nsh.context 0-4294967295
PARAM_VALUE 0 flow->key.ct.mark 0
PARAM_VALUE 0 flow->key.ct.orig_tp.dst 0
PARAM_VALUE 0 flow->key.ct.orig_tp.src 0
PARAM_VALUE 0 flow->key.ct_orig_proto 0
PARAM_VALUE 0 flow->key.ct_state 0
PARAM_VALUE 0 flow->key.ct_zone 0
PARAM_VALUE 0 flow->key.ip.frag 0-2
PARAM_VALUE 0 flow->key.ipv4.ct_orig.dst 0
PARAM_VALUE 0 flow->key.ipv4.ct_orig.src 0
PARAM_VALUE 0 flow->key.ipv6.exthdrs 0-2,4,8,16,32,64,128,130,132,144,160,256,258,260,264,272,288,384,386,388,400,416
PARAM_VALUE 0 flow->key.ipv6.label 0-1048575
PARAM_VALUE 0 flow->key.mac_proto 0-1
PARAM_VALUE 0 flow->key.mpls.num_labels_mask 0-1,7
PARAM_VALUE 0 flow->key.nsh.base.flags 0-3
PARAM_VALUE 0 flow->key.nsh.base.mdtype 1-2
PARAM_VALUE 0 flow->key.nsh.base.ttl 0-3
PARAM_VALUE 0 flow->key.phy.in_port u16max
PARAM_VALUE 0 flow->key.tp.dst 0
PARAM_VALUE 0 flow->key.tp.src 0
PARAM_VALUE 0 flow->sf_acts 4096-ptr_max
PARAM_VALUE 0 flow->stats 4096-ptr_max
PARAM_VALUE 0 flow->stats_last_writer (-1)
PARAM_VALUE 1 deferred 0
DATA_SOURCE 0 flow r ovs_flow_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 flow->key.eth.cvlan.tci 0-u16max
USER_DATA 0 flow->key.eth.cvlan.tpid 0-u16max[u]
USER_DATA 0 flow->key.eth.vlan.tci 0-u16max
USER_DATA 0 flow->key.eth.vlan.tpid 0-u16max[u]
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
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 &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/openvswitch/datapath.c ovs_packet_cmd_execute() -> ovs_flow_free()

Type Parameter Key Value
PARAM_VALUE 0 flow 4096-ptr_max
PARAM_VALUE 0 flow->cpu_used_mask 4096-ptr_max
PARAM_VALUE 0 flow->cpu_used_mask->bits 4096-ptr_max
PARAM_VALUE 0 flow->sf_acts 4096-ptr_max
PARAM_VALUE 0 flow->stats 4096-ptr_max
PARAM_VALUE 0 flow->stats_last_writer (-1)
PARAM_VALUE 1 deferred 0
DATA_SOURCE 0 flow r ovs_flow_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 flow->key.eth.cvlan.tci 0-u16max
USER_DATA 0 flow->key.eth.cvlan.tpid 0-u16max[u]
USER_DATA 0 flow->key.eth.vlan.tci 0-u16max
USER_DATA 0 flow->key.eth.vlan.tpid 0-u16max[u]
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
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 &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex