diff --git a/net/ipv6/route.c b/net/ipv6/route.c index b298b40cf1581daf50be0b8bd183ad73c5f07294..a44ad9637e8acbc0f76033a678fd19b8bf745d33 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -4393,7 +4393,7 @@ static int ip6_pkt_drop(struct sk_buff *skb, u8 code, int ipstats_mib_noroutes) struct inet6_dev *idev; int type; - if (netif_is_l3_master(skb->dev) && + if (netif_is_l3_master(skb->dev) || dst->dev == net->loopback_dev) idev = __in6_dev_get_safely(dev_get_by_index_rcu(net, IP6CB(skb)->iif)); else