projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
datapath: Remove flow refcount functionality.
[openvswitch]
/
datapath
/
datapath.c
diff --git
a/datapath/datapath.c
b/datapath/datapath.c
index 9c253e1c8bff0f7c167248965f2bb0c4d5a486ee..e88b1da240067e507bab8961093940829bf85707 100644
(file)
--- a/
datapath/datapath.c
+++ b/
datapath/datapath.c
@@
-788,20
+788,20
@@
static int ovs_packet_cmd_execute(struct sk_buff *skb, struct genl_info *info)
err = ovs_flow_extract(packet, -1, &flow->key, &key_len);
if (err)
err = ovs_flow_extract(packet, -1, &flow->key, &key_len);
if (err)
- goto err_flow_
put
;
+ goto err_flow_
free
;
err = ovs_flow_metadata_from_nlattrs(flow, key_len, a[OVS_PACKET_ATTR_KEY]);
if (err)
err = ovs_flow_metadata_from_nlattrs(flow, key_len, a[OVS_PACKET_ATTR_KEY]);
if (err)
- goto err_flow_
put
;
+ goto err_flow_
free
;
err = validate_actions(a[OVS_PACKET_ATTR_ACTIONS], &flow->key, 0);
if (err)
err = validate_actions(a[OVS_PACKET_ATTR_ACTIONS], &flow->key, 0);
if (err)
- goto err_flow_
put
;
+ goto err_flow_
free
;
acts = ovs_flow_actions_alloc(a[OVS_PACKET_ATTR_ACTIONS]);
err = PTR_ERR(acts);
if (IS_ERR(acts))
acts = ovs_flow_actions_alloc(a[OVS_PACKET_ATTR_ACTIONS]);
err = PTR_ERR(acts);
if (IS_ERR(acts))
- goto err_flow_
put
;
+ goto err_flow_
free
;
rcu_assign_pointer(flow->sf_acts, acts);
OVS_CB(packet)->flow = flow;
rcu_assign_pointer(flow->sf_acts, acts);
OVS_CB(packet)->flow = flow;
@@
-818,13
+818,13
@@
static int ovs_packet_cmd_execute(struct sk_buff *skb, struct genl_info *info)
local_bh_enable();
rcu_read_unlock();
local_bh_enable();
rcu_read_unlock();
- ovs_flow_
put
(flow);
+ ovs_flow_
free
(flow);
return err;
err_unlock:
rcu_read_unlock();
return err;
err_unlock:
rcu_read_unlock();
-err_flow_
put
:
- ovs_flow_
put
(flow);
+err_flow_
free
:
+ ovs_flow_
free
(flow);
err_kfree_skb:
kfree_skb(packet);
err:
err_kfree_skb:
kfree_skb(packet);
err:
@@
-1139,7
+1139,7
@@
static int ovs_flow_cmd_new_or_set(struct sk_buff *skb, struct genl_info *info)
return 0;
error_free_flow:
return 0;
error_free_flow:
- ovs_flow_
put
(flow);
+ ovs_flow_
free
(flow);
error:
return error;
}
error:
return error;
}