All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pablo Neira Ayuso <pablo@netfilter.org>
To: fgao@ikuai8.com
Cc: davem@davemloft.net, jolsa@redhat.com,
	netfilter-devel@vger.kernel.org, netdev@vger.kernel.org,
	gfree.wind@gmail.com
Subject: Re: [PATCH nf v3 1/1] netfilter: snmp: Fix one possible panic when snmp_trap_helper fail to register
Date: Fri, 24 Mar 2017 20:01:58 +0100	[thread overview]
Message-ID: <20170324190158.GA3202@salvia> (raw)
In-Reply-To: <1490055749-52357-1-git-send-email-fgao@ikuai8.com>

On Tue, Mar 21, 2017 at 08:22:29AM +0800, fgao@ikuai8.com wrote:
> From: Gao Feng <fgao@ikuai8.com>
> 
> In the commit 93557f53e1fb ("netfilter: nf_conntrack: nf_conntrack snmp
> helper"), the snmp_helper is replaced by nf_nat_snmp_hook. So the
> snmp_helper is never registered. But it still tries to unregister the
> snmp_helper, it could cause the panic.
> 
> Now remove the useless snmp_helper and the unregister call in the
> error handler.
> 
> Fixes: 93557f53e1fb ("netfilter: nf_conntrack: nf_conntrack snmp helper")
> 
> Signed-off-by: Gao Feng <fgao@ikuai8.com>
> ---
>  v3: Remove the angle brackets in description, per Sergei
>  v2: Add the SHA1 ID in the description, per Sergei
>  v1: Initial version
> 
>  net/ipv4/netfilter/nf_nat_snmp_basic.c | 14 +-------------
>  1 file changed, 1 insertion(+), 13 deletions(-)
> 
> diff --git a/net/ipv4/netfilter/nf_nat_snmp_basic.c b/net/ipv4/netfilter/nf_nat_snmp_basic.c
> index c9b52c3..5787364 100644
> --- a/net/ipv4/netfilter/nf_nat_snmp_basic.c
> +++ b/net/ipv4/netfilter/nf_nat_snmp_basic.c
> @@ -1260,16 +1260,6 @@ static int help(struct sk_buff *skb, unsigned int protoff,
>  	.timeout	= 180,
>  };
>  
> -static struct nf_conntrack_helper snmp_helper __read_mostly = {
> -	.me			= THIS_MODULE,
> -	.help			= help,
> -	.expect_policy		= &snmp_exp_policy,
> -	.name			= "snmp",
> -	.tuple.src.l3num	= AF_INET,
> -	.tuple.src.u.udp.port	= cpu_to_be16(SNMP_PORT),
> -	.tuple.dst.protonum	= IPPROTO_UDP,
> -};
> -
>  static struct nf_conntrack_helper snmp_trap_helper __read_mostly = {
>  	.me			= THIS_MODULE,
>  	.help			= help,
> @@ -1294,10 +1284,8 @@ static int __init nf_nat_snmp_basic_init(void)
>  	RCU_INIT_POINTER(nf_nat_snmp_hook, help);
>  
>  	ret = nf_conntrack_helper_register(&snmp_trap_helper);
> -	if (ret < 0) {
> -		nf_conntrack_helper_unregister(&snmp_helper);
> +	if (ret < 0)
>  		return ret;
> -	}
>  	return ret;

You can provide a more simplified version after this is removed, I
think:

@@ -1283,10 +1283,7 @@ static int __init nf_nat_snmp_basic_init(void)
        BUG_ON(nf_nat_snmp_hook != NULL);
        RCU_INIT_POINTER(nf_nat_snmp_hook, help);
 
-       ret = nf_conntrack_helper_register(&snmp_trap_helper);
-       if (ret < 0)
-               return ret;
-       return ret;
+       return nf_conntrack_helper_register(&snmp_trap_helper);
 }

  parent reply	other threads:[~2017-03-24 19:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21  0:22 [PATCH nf v3 1/1] netfilter: snmp: Fix one possible panic when snmp_trap_helper fail to register fgao
2017-03-24 12:21 ` Pablo Neira Ayuso
2017-03-24 12:23   ` Pablo Neira Ayuso
2017-03-24 12:42     ` Gao Feng
2017-03-24 19:01 ` Pablo Neira Ayuso [this message]
2017-03-25  2:10   ` Gao Feng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170324190158.GA3202@salvia \
    --to=pablo@netfilter.org \
    --cc=davem@davemloft.net \
    --cc=fgao@ikuai8.com \
    --cc=gfree.wind@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.