diff options
author | David Miller <davem@davemloft.net> | 2012-06-30 22:02:53 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-20 16:30:59 -0400 |
commit | 38a424e4657462fe9f8b76f01a0e879abde99ab4 (patch) | |
tree | 3e5df29e768eb1fff1f9ebbc5cf7538d798a5535 /net/ipv4 | |
parent | 89aef8921bfbac22f00e04f8450f6e447db13e42 (diff) |
ipv4: Kill ip_route_input_noref().
The "noref" argument to ip_route_input_common() is now always ignored
because we do not cache routes, and in that case we must always grab
a reference to the resulting 'dst'.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-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 |
5 files changed, 10 insertions, 10 deletions
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); |