diff options
author | David S. Miller <davem@davemloft.net> | 2013-03-25 12:11:44 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-03-25 12:11:44 -0400 |
commit | da134825348faf797dc57c768bffc454ab7af34b (patch) | |
tree | f2778e4b523d4dd2bd79f9b3c9b8e722b70c5e1c /net/bridge | |
parent | f5a03cf461f225d03ec7bf18b10b74e6f620cb49 (diff) | |
parent | dece40e848f6e022f960dc9de54be518928460c3 (diff) |
Merge branch 'master' of git://1984.lsi.us.es/nf-next
Pablo Neira Ayuso says:
====================
The following patchset contains Netfilter/IPVS updates for
your net-next tree, they are:
* Better performance in nfnetlink_queue by avoiding copy from the
packet to netlink message, from Eric Dumazet.
* Remove unnecessary locking in the exit path of ebt_ulog, from Gao Feng.
* Use new function ipv6_iface_scope_id in nf_ct_ipv6, from Hannes Frederic Sowa.
* A couple of sparse fixes for IPVS, from Julian Anastasov.
* Use xor hashing in nfnetlink_queue, as suggested by Eric Dumazet, from
myself.
* Allow to dump expectations per master conntrack via ctnetlink, from myself.
* A couple of cleanups to use PTR_RET in module init path, from Silviu-Mihai
Popescu.
* Remove nf_conntrack module a bit faster if netns are in use, from
Vladimir Davydov.
* Use checksum_partial in ip6t_NPT, from YOSHIFUJI Hideaki.
* Sparse fix for nf_conntrack, from Stephen Hemminger.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge')
-rw-r--r-- | net/bridge/netfilter/ebt_ulog.c | 3 | ||||
-rw-r--r-- | net/bridge/netfilter/ebtable_broute.c | 4 |
2 files changed, 2 insertions, 5 deletions
diff --git a/net/bridge/netfilter/ebt_ulog.c b/net/bridge/netfilter/ebt_ulog.c index 3bf43f7bb9d4..442b0321acb9 100644 --- a/net/bridge/netfilter/ebt_ulog.c +++ b/net/bridge/netfilter/ebt_ulog.c | |||
@@ -319,12 +319,11 @@ static void __exit ebt_ulog_fini(void) | |||
319 | for (i = 0; i < EBT_ULOG_MAXNLGROUPS; i++) { | 319 | for (i = 0; i < EBT_ULOG_MAXNLGROUPS; i++) { |
320 | ub = &ulog_buffers[i]; | 320 | ub = &ulog_buffers[i]; |
321 | del_timer(&ub->timer); | 321 | del_timer(&ub->timer); |
322 | spin_lock_bh(&ub->lock); | 322 | |
323 | if (ub->skb) { | 323 | if (ub->skb) { |
324 | kfree_skb(ub->skb); | 324 | kfree_skb(ub->skb); |
325 | ub->skb = NULL; | 325 | ub->skb = NULL; |
326 | } | 326 | } |
327 | spin_unlock_bh(&ub->lock); | ||
328 | } | 327 | } |
329 | netlink_kernel_release(ebtulognl); | 328 | netlink_kernel_release(ebtulognl); |
330 | } | 329 | } |
diff --git a/net/bridge/netfilter/ebtable_broute.c b/net/bridge/netfilter/ebtable_broute.c index 40d8258bf74f..70f656ce0f4a 100644 --- a/net/bridge/netfilter/ebtable_broute.c +++ b/net/bridge/netfilter/ebtable_broute.c | |||
@@ -64,9 +64,7 @@ static int ebt_broute(struct sk_buff *skb) | |||
64 | static int __net_init broute_net_init(struct net *net) | 64 | static int __net_init broute_net_init(struct net *net) |
65 | { | 65 | { |
66 | net->xt.broute_table = ebt_register_table(net, &broute_table); | 66 | net->xt.broute_table = ebt_register_table(net, &broute_table); |
67 | if (IS_ERR(net->xt.broute_table)) | 67 | return PTR_RET(net->xt.broute_table); |
68 | return PTR_ERR(net->xt.broute_table); | ||
69 | return 0; | ||
70 | } | 68 | } |
71 | 69 | ||
72 | static void __net_exit broute_net_exit(struct net *net) | 70 | static void __net_exit broute_net_exit(struct net *net) |