summaryrefslogtreecommitdiffstats
path: root/net/netfilter/nf_conntrack_netlink.c
diff options
context:
space:
mode:
authorPatrick McHardy2006-03-21 03:03:59 +0100
committerDavid S. Miller2006-03-21 03:03:59 +0100
commita24276924875802853b5bdc12c56d29f1c1bbc79 (patch)
tree5725689bf434004143ae875bbfee3d3d29ddcdb0 /net/netfilter/nf_conntrack_netlink.c
parent[NETFILTER]: x_tables: replace IPv4/IPv6 policy match by address family indep... (diff)
downloadkernel-qcow2-linux-a24276924875802853b5bdc12c56d29f1c1bbc79.tar.gz
kernel-qcow2-linux-a24276924875802853b5bdc12c56d29f1c1bbc79.tar.xz
kernel-qcow2-linux-a24276924875802853b5bdc12c56d29f1c1bbc79.zip
[NETFILTER]: ctnetlink: avoid unneccessary event message generation
Avoid unneccessary event message generation by checking for netlink listeners before building a message. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netfilter/nf_conntrack_netlink.c')
-rw-r--r--net/netfilter/nf_conntrack_netlink.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
index aef3cb41131f..5eadf009bb15 100644
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -338,9 +338,10 @@ static int ctnetlink_conntrack_event(struct notifier_block *this,
group = NFNLGRP_CONNTRACK_UPDATE;
} else
return NOTIFY_DONE;
-
- /* FIXME: Check if there are any listeners before, don't hurt performance */
-
+
+ if (!nfnetlink_has_listeners(group))
+ return NOTIFY_DONE;
+
skb = alloc_skb(NLMSG_GOODSIZE, GFP_ATOMIC);
if (!skb)
return NOTIFY_DONE;