diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2010-03-16 13:30:21 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-20 14:29:03 -0700 |
commit | 37b7ef7203240b3aba577bb1ff6765fe15225976 (patch) | |
tree | 6e54b06dd07adff6e1ea52caf6715eca905dbb9a /net/netfilter/nf_conntrack_netlink.c | |
parent | 1a50307ba1826e4da0024e64b245ce4eadf7688a (diff) | |
download | op-kernel-dev-37b7ef7203240b3aba577bb1ff6765fe15225976.zip op-kernel-dev-37b7ef7203240b3aba577bb1ff6765fe15225976.tar.gz |
netfilter: ctnetlink: fix reliable event delivery if message building fails
This patch fixes a bug that allows to lose events when reliable
event delivery mode is used, ie. if NETLINK_BROADCAST_SEND_ERROR
and NETLINK_RECV_NO_ENOBUFS socket options are set.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
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.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c index 2b2af63..569410a 100644 --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c @@ -582,7 +582,9 @@ nla_put_failure: nlmsg_failure: kfree_skb(skb); errout: - nfnetlink_set_err(net, 0, group, -ENOBUFS); + if (nfnetlink_set_err(net, 0, group, -ENOBUFS) > 0) + return -ENOBUFS; + return 0; } #endif /* CONFIG_NF_CONNTRACK_EVENTS */ |