|
@@ -2104,8 +2104,9 @@ static int __ip6mr_fill_mroute(struct mr6_table *mrt, struct sk_buff *skb,
|
|
|
if (c->mf6c_parent >= MAXMIFS)
|
|
|
return -ENOENT;
|
|
|
|
|
|
- if (MIF_EXISTS(mrt, c->mf6c_parent))
|
|
|
- RTA_PUT(skb, RTA_IIF, 4, &mrt->vif6_table[c->mf6c_parent].dev->ifindex);
|
|
|
+ if (MIF_EXISTS(mrt, c->mf6c_parent) &&
|
|
|
+ nla_put_u32(skb, RTA_IIF, mrt->vif6_table[c->mf6c_parent].dev->ifindex) < 0)
|
|
|
+ return -EMSGSIZE;
|
|
|
|
|
|
mp_head = (struct rtattr *)skb_put(skb, RTA_LENGTH(0));
|
|
|
|