mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
ipv4: fix address selection in fib_compute_spec_dst
ip_options_compile can be called for forwarded packets, make sure the specific-destionation address is a local one as specified in RFC 1812, 4.2.2.2 Addresses in Options Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6255e5ead0
commit
0cc535a299
@ -206,7 +206,8 @@ __be32 fib_compute_spec_dst(struct sk_buff *skb)
|
||||
int scope;
|
||||
|
||||
rt = skb_rtable(skb);
|
||||
if (!(rt->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST)))
|
||||
if ((rt->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST | RTCF_LOCAL)) ==
|
||||
RTCF_LOCAL)
|
||||
return ip_hdr(skb)->daddr;
|
||||
|
||||
in_dev = __in_dev_get_rcu(dev);
|
||||
|
Loading…
Reference in New Issue
Block a user