[lvs-users] [PATCH net] ipvs: do not use random local source address for tunnels
Simon Horman
horms at verge.net.au
Mon Jun 29 02:05:41 BST 2015
On Sat, Jun 27, 2015 at 02:39:30PM +0300, Julian Anastasov wrote:
> Michael Vallaly reports about wrong source address used
> in rare cases for tunneled traffic. Looks like
> __ip_vs_get_out_rt in 3.10+ is providing uninitialized
> dest_dst->dst_saddr.ip because ip_vs_dest_dst_alloc uses
> kmalloc. While we retry after seeing EINVAL from routing
> for data that does not look like valid local address, it
> still succeeded when this memory was previously used from
> other dests and with different local addresses. As result,
> we can use valid local address that is not suitable for
> our real server.
>
> Fix it by providing 0.0.0.0 every time our cache is refreshed.
> By this way we will get preferred source address from routing.
>
> Reported-by: Michael Vallaly <lvs at nolatency.com>
> Fixes: 026ace060dfe ("ipvs: optimize dst usage for real server")
> Signed-off-by: Julian Anastasov <ja at ssi.bg>
Thanks, I have applied this to the ipvs tree.
More information about the lvs-users
mailing list