Re: [PATCH] netfilter, ipvs: Avoid undefined order of evaluation inassignments to struct nf_conn *

From: Simon Horman
Date: Sun May 29 2011 - 19:23:51 EST


On Sun, May 29, 2011 at 08:22:56PM +0200, Jesper Juhl wrote:
> In net/netfilter/ipvs/ip_vs_nfct.c::ip_vs_update_conntrack(),
> net/netfilter/ipvs/ip_vs_xmit.c::ip_vs_nat_xmit(),
> net/netfilter/ipvs/ip_vs_xmit.c::ip_vs_nat_xmit_v6(),
> net/netfilter/ipvs/ip_vs_xmit.c::ip_vs_icmp_xmit)()
> net/netfilter/ipvs/ip_vs_xmit.c::and ip_vs_icmp_xmit_v6() we do this:
> ...
> struct nf_conn *ct = ct = nf_ct_get(skb, &ctinfo);
> ...
>
> Since '=' is not a sequence point the order of these assignments happening
> is undefined. Luckily it's easy to avoid by just doing what is obviously
> the intended thing:
> struct nf_conn *ct = nf_ct_get(skb, &ctinfo);
>
> Signed-off-by: Jesper Juhl <jj@xxxxxxxxxxxxx>

Acked-by: Simon Horman <horms@xxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/