summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-06-01 15:31:40 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-06-05 12:36:36 +0200
commit991a6b735ff47710769545b11e481bb140b2e6f7 (patch)
treeb93dc25179d70f88caae5b217c321149b100621c /net
parent5343a7f8be11951cb3095b91e8e4eb506cfacc0f (diff)
downloadlinux-991a6b735ff47710769545b11e481bb140b2e6f7.tar.gz
linux-991a6b735ff47710769545b11e481bb140b2e6f7.tar.bz2
linux-991a6b735ff47710769545b11e481bb140b2e6f7.zip
netfilter: nfnetlink_acct: fix incomplete dumping of objects
Fix broken incomplete object dumping if the list of objects does not fit into one single netlink message. Reported-by: Gabriel Lazar <Gabriel.Lazar@com.utcluj.ro> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net')
-rw-r--r--net/netfilter/nfnetlink_acct.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/netfilter/nfnetlink_acct.c b/net/netfilter/nfnetlink_acct.c
index dc3fd5d44464..c7b6d466a662 100644
--- a/net/netfilter/nfnetlink_acct.c
+++ b/net/netfilter/nfnetlink_acct.c
@@ -149,9 +149,12 @@ nfnl_acct_dump(struct sk_buff *skb, struct netlink_callback *cb)
rcu_read_lock();
list_for_each_entry_rcu(cur, &nfnl_acct_list, head) {
- if (last && cur != last)
- continue;
+ if (last) {
+ if (cur != last)
+ continue;
+ last = NULL;
+ }
if (nfnl_acct_fill_info(skb, NETLINK_CB(cb->skb).portid,
cb->nlh->nlmsg_seq,
NFNL_MSG_TYPE(cb->nlh->nlmsg_type),