From: David S. Miller <davem@davemloft.net>
Date: Thu, 12 May 2011 23:34:30 +0000 (-0400)
Subject: ipv4: Elide use of rt->rt_dst in ip_forward()
X-Git-Tag: MMI-PSA29.97-13-9~19691^2~104^2
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=def57687e9579b7a797681990dff763c411f5347;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git

ipv4: Elide use of rt->rt_dst in ip_forward()

No matter what kind of header mangling occurs due to IP options
processing, rt->rt_dst will always equal iph->daddr in the packet.

So we can safely use iph->daddr instead of rt->rt_dst here.

Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/net/ipv4/ip_forward.c b/net/ipv4/ip_forward.c
index 99461f09320f..fcbc0c8f1261 100644
--- a/net/ipv4/ip_forward.c
+++ b/net/ipv4/ip_forward.c
@@ -84,7 +84,7 @@ int ip_forward(struct sk_buff *skb)
 
 	rt = skb_rtable(skb);
 
-	if (opt->is_strictroute && rt->rt_dst != rt->rt_gateway)
+	if (opt->is_strictroute && iph->daddr != rt->rt_gateway)
 		goto sr_failed;
 
 	if (unlikely(skb->len > dst_mtu(&rt->dst) && !skb_is_gso(skb) &&