From 8271afcab2f219158ec5d63f6b625cd64dcc98a8 Mon Sep 17 00:00:00 2001 From: Jozsef Kadlecsik Date: Wed, 26 Jan 2011 22:37:11 +0100 Subject: Send (N)ACK at dumping only when NLM_F_ACK is set Missing check of the flag NLM_F_ACK is added to the kernel - and userspace does set it too (Patrick McHardy's review) --- kernel/ip_set_core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'kernel') diff --git a/kernel/ip_set_core.c b/kernel/ip_set_core.c index 023813b..3071d3f 100644 --- a/kernel/ip_set_core.c +++ b/kernel/ip_set_core.c @@ -973,9 +973,11 @@ ip_set_dump_start(struct sk_buff *skb, struct netlink_callback *cb) if (cb->args[0] == DUMP_INIT) { ret = dump_init(cb); if (ret < 0) { + struct nlmsghdr *nlh = nlmsg_hdr(cb->skb); /* We have to create and send the error message * manually :-( */ - netlink_ack(cb->skb, nlmsg_hdr(cb->skb), ret); + if (nlh->nlmsg_flags & NLM_F_ACK) + netlink_ack(cb->skb, nlh, ret); return ret; } } -- cgit v1.2.3