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 <[email protected]> > Fixes: 026ace060dfe ("ipvs: optimize dst usage for real server") > Signed-off-by: Julian Anastasov <[email protected]>
Thanks, I have applied this to the ipvs tree. _______________________________________________ Please read the documentation before posting - it's available at: http://www.linuxvirtualserver.org/ LinuxVirtualServer.org mailing list - [email protected] Send requests to [email protected] or go to http://lists.graemef.net/mailman/listinfo/lvs-users
