ipmr, ip6mr: fix scheduling while atomic and a deadlock with ipmr_get_route
[cascardo/linux.git] / net / ipv6 / route.c
index e3a224b..269218a 100644 (file)
@@ -3202,7 +3202,9 @@ static int rt6_fill_node(struct net *net,
        if (iif) {
 #ifdef CONFIG_IPV6_MROUTE
                if (ipv6_addr_is_multicast(&rt->rt6i_dst.addr)) {
-                       int err = ip6mr_get_route(net, skb, rtm, nowait);
+                       int err = ip6mr_get_route(net, skb, rtm, nowait,
+                                                 portid);
+
                        if (err <= 0) {
                                if (!nowait) {
                                        if (err == 0)