diff options
-rw-r--r-- | include/net/route.h | 16 | ||||
-rw-r--r-- | net/ipv4/arp.c | 2 | ||||
-rw-r--r-- | net/ipv4/ip_fragment.c | 4 | ||||
-rw-r--r-- | net/ipv4/ip_input.c | 4 | ||||
-rw-r--r-- | net/ipv4/route.c | 6 | ||||
-rw-r--r-- | net/ipv4/xfrm4_input.c | 4 |
6 files changed, 12 insertions, 24 deletions
diff --git a/include/net/route.h b/include/net/route.h index 5dcfeb621e06..5c86c4773b2b 100644 --- a/include/net/route.h +++ b/include/net/route.h | |||
@@ -160,20 +160,8 @@ static inline struct rtable *ip_route_output_gre(struct net *net, struct flowi4 | |||
160 | return ip_route_output_key(net, fl4); | 160 | return ip_route_output_key(net, fl4); |
161 | } | 161 | } |
162 | 162 | ||
163 | extern int ip_route_input_common(struct sk_buff *skb, __be32 dst, __be32 src, | 163 | extern int ip_route_input(struct sk_buff *skb, __be32 dst, __be32 src, |
164 | u8 tos, struct net_device *devin, bool noref); | 164 | u8 tos, struct net_device *devin); |
165 | |||
166 | static inline int ip_route_input(struct sk_buff *skb, __be32 dst, __be32 src, | ||
167 | u8 tos, struct net_device *devin) | ||
168 | { | ||
169 | return ip_route_input_common(skb, dst, src, tos, devin, false); | ||
170 | } | ||
171 | |||
172 | static inline int ip_route_input_noref(struct sk_buff *skb, __be32 dst, __be32 src, | ||
173 | u8 tos, struct net_device *devin) | ||
174 | { | ||
175 | return ip_route_input_common(skb, dst, src, tos, devin, true); | ||
176 | } | ||
177 | 165 | ||
178 | extern void ipv4_update_pmtu(struct sk_buff *skb, struct net *net, u32 mtu, | 166 | extern void ipv4_update_pmtu(struct sk_buff *skb, struct net *net, u32 mtu, |
179 | int oif, u32 mark, u8 protocol, int flow_flags); | 167 | int oif, u32 mark, u8 protocol, int flow_flags); |
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 2e560f0c757d..c38293f38161 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c | |||
@@ -828,7 +828,7 @@ static int arp_process(struct sk_buff *skb) | |||
828 | } | 828 | } |
829 | 829 | ||
830 | if (arp->ar_op == htons(ARPOP_REQUEST) && | 830 | if (arp->ar_op == htons(ARPOP_REQUEST) && |
831 | ip_route_input_noref(skb, tip, sip, 0, dev) == 0) { | 831 | ip_route_input(skb, tip, sip, 0, dev) == 0) { |
832 | 832 | ||
833 | rt = skb_rtable(skb); | 833 | rt = skb_rtable(skb); |
834 | addr_type = rt->rt_type; | 834 | addr_type = rt->rt_type; |
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c index 8d07c973409c..7ad88e5e7110 100644 --- a/net/ipv4/ip_fragment.c +++ b/net/ipv4/ip_fragment.c | |||
@@ -258,8 +258,8 @@ static void ip_expire(unsigned long arg) | |||
258 | /* skb dst is stale, drop it, and perform route lookup again */ | 258 | /* skb dst is stale, drop it, and perform route lookup again */ |
259 | skb_dst_drop(head); | 259 | skb_dst_drop(head); |
260 | iph = ip_hdr(head); | 260 | iph = ip_hdr(head); |
261 | err = ip_route_input_noref(head, iph->daddr, iph->saddr, | 261 | err = ip_route_input(head, iph->daddr, iph->saddr, |
262 | iph->tos, head->dev); | 262 | iph->tos, head->dev); |
263 | if (err) | 263 | if (err) |
264 | goto out_rcu_unlock; | 264 | goto out_rcu_unlock; |
265 | 265 | ||
diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c index b27d4440f523..4ebc6feee250 100644 --- a/net/ipv4/ip_input.c +++ b/net/ipv4/ip_input.c | |||
@@ -336,8 +336,8 @@ static int ip_rcv_finish(struct sk_buff *skb) | |||
336 | * how the packet travels inside Linux networking. | 336 | * how the packet travels inside Linux networking. |
337 | */ | 337 | */ |
338 | if (!skb_dst(skb)) { | 338 | if (!skb_dst(skb)) { |
339 | int err = ip_route_input_noref(skb, iph->daddr, iph->saddr, | 339 | int err = ip_route_input(skb, iph->daddr, iph->saddr, |
340 | iph->tos, skb->dev); | 340 | iph->tos, skb->dev); |
341 | if (unlikely(err)) { | 341 | if (unlikely(err)) { |
342 | if (err == -EXDEV) | 342 | if (err == -EXDEV) |
343 | NET_INC_STATS_BH(dev_net(skb->dev), | 343 | NET_INC_STATS_BH(dev_net(skb->dev), |
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 6d6146d31f22..55eb4634ed60 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c | |||
@@ -1620,8 +1620,8 @@ martian_source_keep_err: | |||
1620 | goto out; | 1620 | goto out; |
1621 | } | 1621 | } |
1622 | 1622 | ||
1623 | int ip_route_input_common(struct sk_buff *skb, __be32 daddr, __be32 saddr, | 1623 | int ip_route_input(struct sk_buff *skb, __be32 daddr, __be32 saddr, |
1624 | u8 tos, struct net_device *dev, bool noref) | 1624 | u8 tos, struct net_device *dev) |
1625 | { | 1625 | { |
1626 | int res; | 1626 | int res; |
1627 | 1627 | ||
@@ -1664,7 +1664,7 @@ int ip_route_input_common(struct sk_buff *skb, __be32 daddr, __be32 saddr, | |||
1664 | rcu_read_unlock(); | 1664 | rcu_read_unlock(); |
1665 | return res; | 1665 | return res; |
1666 | } | 1666 | } |
1667 | EXPORT_SYMBOL(ip_route_input_common); | 1667 | EXPORT_SYMBOL(ip_route_input); |
1668 | 1668 | ||
1669 | /* called with rcu_read_lock() */ | 1669 | /* called with rcu_read_lock() */ |
1670 | static struct rtable *__mkroute_output(const struct fib_result *res, | 1670 | static struct rtable *__mkroute_output(const struct fib_result *res, |
diff --git a/net/ipv4/xfrm4_input.c b/net/ipv4/xfrm4_input.c index 06814b6216dc..58d23a572509 100644 --- a/net/ipv4/xfrm4_input.c +++ b/net/ipv4/xfrm4_input.c | |||
@@ -27,8 +27,8 @@ static inline int xfrm4_rcv_encap_finish(struct sk_buff *skb) | |||
27 | if (skb_dst(skb) == NULL) { | 27 | if (skb_dst(skb) == NULL) { |
28 | const struct iphdr *iph = ip_hdr(skb); | 28 | const struct iphdr *iph = ip_hdr(skb); |
29 | 29 | ||
30 | if (ip_route_input_noref(skb, iph->daddr, iph->saddr, | 30 | if (ip_route_input(skb, iph->daddr, iph->saddr, |
31 | iph->tos, skb->dev)) | 31 | iph->tos, skb->dev)) |
32 | goto drop; | 32 | goto drop; |
33 | } | 33 | } |
34 | return dst_input(skb); | 34 | return dst_input(skb); |