Re: [PATCH nf-next] ipvs: use nf_ct_kill helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



	Hello,

On Wed, 3 Aug 2016, Florian Westphal wrote:

> Once timer is removed from nf_conn struct we cannot open-code
> the removal sequence like this anymore.
> 
> Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
> ---
>  ipvs maintainers:
> 
>  Alternatively I can do a 1:1 replacement of the del_timer() with a
>  test_and_set_bit().
> 
>  Please let me know if you would prefer this,
> 
> diff --git a/net/netfilter/ipvs/ip_vs_nfct.c b/net/netfilter/ipvs/ip_vs_nfct.c
> index f04fd8d..69ce16e 100644
> --- a/net/netfilter/ipvs/ip_vs_nfct.c
> +++ b/net/netfilter/ipvs/ip_vs_nfct.c
> @@ -281,18 +281,7 @@ void ip_vs_conn_drop_conntrack(struct ip_vs_conn *cp)
>  	h = nf_conntrack_find_get(cp->ipvs->net, &nf_ct_zone_dflt, &tuple);
>  	if (h) {
>  		ct = nf_ct_tuplehash_to_ctrack(h);
> -		/* Show what happens instead of calling nf_ct_kill() */
> -		if (del_timer(&ct->timeout)) {

	May be it would be better to preserve the debug
messages, i.e. if we replace del_timer with nf_ct_kill and
remove the ct->timeout.function call below. I assume nf_ct_kill
still returns such bool result. Then the debug messages should
not be affected, I think.

> -			IP_VS_DBG(7, "%s: ct=%p, deleted conntrack timer for tuple="
> -				FMT_TUPLE "\n",
> -				__func__, ct, ARG_TUPLE(&tuple));
> -			if (ct->timeout.function)
> -				ct->timeout.function(ct->timeout.data);
> -		} else {
> -			IP_VS_DBG(7, "%s: ct=%p, no conntrack timer for tuple="
> -				FMT_TUPLE "\n",
> -				__func__, ct, ARG_TUPLE(&tuple));
> -		}
> +		nf_ct_kill(ct);
>  		nf_ct_put(ct);
>  	} else {
>  		IP_VS_DBG(7, "%s: no conntrack for tuple=" FMT_TUPLE "\n",
> -- 
> 2.7.3

Regards

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



[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux