|
@@ -331,8 +331,8 @@ static int ip_rcv_finish(struct sk_buff *skb)
|
|
* how the packet travels inside Linux networking.
|
|
* how the packet travels inside Linux networking.
|
|
*/
|
|
*/
|
|
if (skb_dst(skb) == NULL) {
|
|
if (skb_dst(skb) == NULL) {
|
|
- int err = ip_route_input(skb, iph->daddr, iph->saddr, iph->tos,
|
|
|
|
- skb->dev);
|
|
|
|
|
|
+ int err = ip_route_input_noref(skb, iph->daddr, iph->saddr,
|
|
|
|
+ iph->tos, skb->dev);
|
|
if (unlikely(err)) {
|
|
if (unlikely(err)) {
|
|
if (err == -EHOSTUNREACH)
|
|
if (err == -EHOSTUNREACH)
|
|
IP_INC_STATS_BH(dev_net(skb->dev),
|
|
IP_INC_STATS_BH(dev_net(skb->dev),
|