Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1560261
| 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 |
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
[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