summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorJoe Stringer <joe@ovn.org>2015-12-23 23:39:27 +0100
committerDavid S. Miller <davem@davemloft.net>2015-12-29 21:27:52 +0100
commit90c7afc96cbbd77f44094b5b651261968e97de67 (patch)
tree33ca2fb418b80e805dddf278843ed143442e9451 /drivers/net
parentsctp: label accepted/peeled off sockets (diff)
downloadlinux-90c7afc96cbbd77f44094b5b651261968e97de67.tar.xz
linux-90c7afc96cbbd77f44094b5b651261968e97de67.zip
openvswitch: Fix template leak in error cases.
Commit 5b48bb8506c5 ("openvswitch: Fix helper reference leak") fixed a reference leak on helper objects, but inadvertently introduced a leak on the ct template. Previously, ct_info.ct->general.use was initialized to 0 by nf_ct_tmpl_alloc() and only incremented when ovs_ct_copy_action() returned successful. If an error occurred while adding the helper or adding the action to the actions buffer, the __ovs_ct_free_action() cleanup would use nf_ct_put() to free the entry; However, this relies on atomic_dec_and_test(ct_info.ct->general.use). This reference must be incremented first, or nf_ct_put() will never free it. Fix the issue by acquiring a reference to the template immediately after allocation. Fixes: cae3a2627520 ("openvswitch: Allow attaching helpers to ct action") Fixes: 5b48bb8506c5 ("openvswitch: Fix helper reference leak") Signed-off-by: Joe Stringer <joe@ovn.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
0 files changed, 0 insertions, 0 deletions