From: Li Wei Date: Tue, 8 Nov 2011 21:39:28 +0000 (+0000) Subject: ipv4: fix for ip_options_rcv_srr() daddr update. X-Git-Tag: v3.1.5~12 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=db9a8a29b0c7c61b372300978fbe8b01606103f0;p=karo-tx-linux.git ipv4: fix for ip_options_rcv_srr() daddr update. [ Upstream commit b12f62efb8ec0b9523bdb6c2d412c07193086de9 ] When opt->srr_is_hit is set skb_rtable(skb) has been updated for 'nexthop' and iph->daddr should always equals to skb_rtable->rt_dst holds, We need update iph->daddr either. Signed-off-by: Li Wei Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c index ec93335901dd..05d20cca9d66 100644 --- a/net/ipv4/ip_options.c +++ b/net/ipv4/ip_options.c @@ -640,6 +640,7 @@ int ip_options_rcv_srr(struct sk_buff *skb) } if (srrptr <= srrspace) { opt->srr_is_hit = 1; + iph->daddr = nexthop; opt->is_changed = 1; } return 0;