LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH 1/1] netfilter: Deletion of unnecessary checks before two fun

To: SF Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [PATCH 1/1] netfilter: Deletion of unnecessary checks before two function calls
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>, Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx>, Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>, Patrick McHardy <kaber@xxxxxxxxx>, Simon Horman <horms@xxxxxxxxxxxx>, Wensong Zhang <wensong@xxxxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx, lvs-devel@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, coreteam@xxxxxxxxxxxxx, LKML <linux-kernel@xxxxxxxxxxxxxxx>, kernel-janitors@xxxxxxxxxxxxxxx, Coccinelle <cocci@xxxxxxxxxxxxxxx>
From: Julian Anastasov <ja@xxxxxx>
Date: Thu, 20 Nov 2014 00:26:56 +0200 (EET)
        Hello,

On Tue, 18 Nov 2014, SF Markus Elfring wrote:

> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> Date: Tue, 18 Nov 2014 20:37:05 +0100
> 
> The functions free_percpu() and module_put() test whether their argument
> is NULL and then return immediately. Thus the test around the call is
> not needed.
> 
> This issue was detected by using the Coccinelle software.
> 
> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>

        Pablo, the IPVS parts look ok to me,

Acked-by: Julian Anastasov <ja@xxxxxx>

> ---
>  net/netfilter/ipvs/ip_vs_ctl.c   | 3 +--
>  net/netfilter/ipvs/ip_vs_pe.c    | 3 +--
>  net/netfilter/ipvs/ip_vs_sched.c | 3 +--
>  net/netfilter/ipvs/ip_vs_sync.c  | 3 +--
>  net/netfilter/nf_tables_api.c    | 3 +--
>  5 files changed, 5 insertions(+), 10 deletions(-)
> 
> diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
> index fd3f444..7c5e40a 100644
> --- a/net/netfilter/ipvs/ip_vs_ctl.c
> +++ b/net/netfilter/ipvs/ip_vs_ctl.c
> @@ -465,8 +465,7 @@ __ip_vs_bind_svc(struct ip_vs_dest *dest, struct 
> ip_vs_service *svc)
>  
>  static void ip_vs_service_free(struct ip_vs_service *svc)
>  {
> -     if (svc->stats.cpustats)
> -             free_percpu(svc->stats.cpustats);
> +     free_percpu(svc->stats.cpustats);
>       kfree(svc);
>  }
>  
> diff --git a/net/netfilter/ipvs/ip_vs_pe.c b/net/netfilter/ipvs/ip_vs_pe.c
> index 1a82b29..0df17ca 100644
> --- a/net/netfilter/ipvs/ip_vs_pe.c
> +++ b/net/netfilter/ipvs/ip_vs_pe.c
> @@ -37,8 +37,7 @@ struct ip_vs_pe *__ip_vs_pe_getbyname(const char *pe_name)
>                       rcu_read_unlock();
>                       return pe;
>               }
> -             if (pe->module)
> -                     module_put(pe->module);
> +             module_put(pe->module);
>       }
>       rcu_read_unlock();
>  
> diff --git a/net/netfilter/ipvs/ip_vs_sched.c 
> b/net/netfilter/ipvs/ip_vs_sched.c
> index 4dbcda6..199760c 100644
> --- a/net/netfilter/ipvs/ip_vs_sched.c
> +++ b/net/netfilter/ipvs/ip_vs_sched.c
> @@ -104,8 +104,7 @@ static struct ip_vs_scheduler 
> *ip_vs_sched_getbyname(const char *sched_name)
>                       mutex_unlock(&ip_vs_sched_mutex);
>                       return sched;
>               }
> -             if (sched->module)
> -                     module_put(sched->module);
> +             module_put(sched->module);
>       }
>  
>       mutex_unlock(&ip_vs_sched_mutex);
> diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
> index eadffb2..cafe28d 100644
> --- a/net/netfilter/ipvs/ip_vs_sync.c
> +++ b/net/netfilter/ipvs/ip_vs_sync.c
> @@ -820,8 +820,7 @@ ip_vs_conn_fill_param_sync(struct net *net, int af, union 
> ip_vs_sync_conn *sc,
>  
>               p->pe_data = kmemdup(pe_data, pe_data_len, GFP_ATOMIC);
>               if (!p->pe_data) {
> -                     if (p->pe->module)
> -                             module_put(p->pe->module);
> +                     module_put(p->pe->module);
>                       return -ENOMEM;
>               }
>               p->pe_data_len = pe_data_len;
> diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
> index deeb95f..b115f54 100644
> --- a/net/netfilter/nf_tables_api.c
> +++ b/net/netfilter/nf_tables_api.c
> @@ -3472,8 +3472,7 @@ static int nf_tables_abort(struct sk_buff *skb)
>                       break;
>               case NFT_MSG_NEWCHAIN:
>                       if (nft_trans_chain_update(trans)) {
> -                             if (nft_trans_chain_stats(trans))
> -                                     
> free_percpu(nft_trans_chain_stats(trans));
> +                             free_percpu(nft_trans_chain_stats(trans));
>  
>                               nft_trans_destroy(trans);
>                       } else {
> -- 
> 2.1.3

Regards

--
Julian Anastasov <ja@xxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>