summaryrefslogtreecommitdiffstats
path: root/net/ipv4/ip_options.c
diff options
context:
space:
mode:
authorLi Wei <lw@cn.fujitsu.com>2011-11-08 22:39:28 +0100
committerDavid S. Miller <davem@davemloft.net>2011-11-09 21:59:00 +0100
commitb12f62efb8ec0b9523bdb6c2d412c07193086de9 (patch)
treec6dfff956c15b7c6fb253f69e8a0e639d2f29d78 /net/ipv4/ip_options.c
parentah: Read nexthdr value before overwriting it in ahash input callback. (diff)
downloadlinux-b12f62efb8ec0b9523bdb6c2d412c07193086de9.tar.xz
linux-b12f62efb8ec0b9523bdb6c2d412c07193086de9.zip
ipv4: fix for ip_options_rcv_srr() daddr update.
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 <lw@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ip_options.c')
-rw-r--r--net/ipv4/ip_options.c1
1 files changed, 1 insertions, 0 deletions
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;