Hi Jozsef, On Sat, Apr 13, 2013 at 02:51:14PM +0200, Jozsef Kadlecsik wrote: > 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. > > Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> > --- > 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 0f92dc2..d7df6ac 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); I think this ipset_nest_end should be after the id == first checking. It doesn't make sense for the -EMSGSIZE case. BTW, in the first message, where `first' is unset, id will never equal first and you will always return success even if you could not add one single nested attribute into the message. > - return -EMSGSIZE; > + if (unlikely(id == first)) { > + cb->args[2] = 0; > + return -EMSGSIZE; > + } > + return 0; Regards. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html