Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1560261

[RFC/PATCH 3/3] netfilter: ctnetlink: Fix regression in CTA_HELP processing

From Kevin Cernekee <cernekee@chromium.org>
Newsgroups linux.kernel
Subject [RFC/PATCH 3/3] netfilter: ctnetlink: Fix regression in CTA_HELP processing
Date 2017-01-17 06:20 +0100
Message-ID <t0ulz-2IQ-1@gated-at.bofh.it> (permalink)
References <t0ulz-2IQ-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


If a user program specifies CTA_HELP but the argument matches the
current conntrack helper name, ignore it instead of generating an error.

Signed-off-by: Kevin Cernekee <cernekee@chromium.org>
---
 net/netfilter/nf_conntrack_netlink.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
index cc59f388928e..2912f582da65 100644
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -1472,14 +1472,19 @@ ctnetlink_change_helper(struct nf_conn *ct, const struct nlattr * const cda[])
 	struct nlattr *helpinfo = NULL;
 	int err;
 
-	/* don't change helper of sibling connections */
-	if (ct->master)
-		return -EBUSY;
-
 	err = ctnetlink_parse_help(cda[CTA_HELP], &helpname, &helpinfo);
 	if (err < 0)
 		return err;
 
+	/* don't change helper of sibling connections */
+	if (ct->master) {
+		if (help && help->helper &&
+		    !strcmp(help->helper->name, helpname))
+			return 0;
+		else
+			return -EBUSY;
+	}
+
 	if (!strcmp(helpname, "")) {
 		if (help && help->helper) {
 			/* we had a helper before ... */
-- 
2.7.4

Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

[RFC/PATCH 3/3] netfilter: ctnetlink: Fix regression in CTA_HELP processing Kevin Cernekee <cernekee@chromium.org> - 2017-01-17 06:20 +0100
  Re: [RFC/PATCH 3/3] netfilter: ctnetlink: Fix regression in CTA_HELP processing Doug Anderson <dianders@chromium.org> - 2017-01-18 20:10 +0100

csiph-web