diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2013-04-13 14:30:54 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-04-18 23:40:41 +0200 |
commit | 5add189a125e6b497e31bffdaaed8145ec6d4984 (patch) | |
tree | eb7f28be0991188e7e0d4db233ce5978298a1852 | |
parent | netfilter: nf_nat: fix race when unloading protocol modules (diff) | |
download | linux-5add189a125e6b497e31bffdaaed8145ec6d4984.tar.xz linux-5add189a125e6b497e31bffdaaed8145ec6d4984.zip |
netfilter: ipset: bitmap:ip,mac: fix listing with timeout
The type when timeout support was enabled, could not list all elements,
just the first ones which could fit into one netlink message: it just
did not continue listing after the first message.
Reported-by: Yoann JUET <yoann.juet@univ-nantes.fr>
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Tested-by: Yoann JUET <yoann.juet@univ-nantes.fr>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | net/netfilter/ipset/ip_set_bitmap_ipmac.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/netfilter/ipset/ip_set_bitmap_ipmac.c b/net/netfilter/ipset/ip_set_bitmap_ipmac.c index 0f92dc24cb89..d7df6ac2c6f1 100644 --- a/net/netfilter/ipset/ip_set_bitmap_ipmac.c +++ b/net/netfilter/ipset/ip_set_bitmap_ipmac.c @@ -339,7 +339,11 @@ bitmap_ipmac_tlist(const struct ip_set *set, nla_put_failure: nla_nest_cancel(skb, nested); ipset_nest_end(skb, atd); - return -EMSGSIZE; + if (unlikely(id == first)) { + cb->args[2] = 0; + return -EMSGSIZE; + } + return 0; } static int |