- patches.arch/x86_mce_intel_decode_physical_address.patch:
[linux-flexiantxendom0-3.2.10.git] / net / ipv6 / addrlabel.c
index ae404c9..8c4348c 100644 (file)
@@ -422,10 +422,6 @@ static int ip6addrlbl_newdel(struct sk_buff *skb, struct nlmsghdr *nlh,
            ifal->ifal_prefixlen > 128)
                return -EINVAL;
 
-       if (ifal->ifal_index &&
-           !__dev_get_by_index(net, ifal->ifal_index))
-               return -EINVAL;
-
        if (!tb[IFAL_ADDRESS])
                return -EINVAL;
 
@@ -441,6 +437,10 @@ static int ip6addrlbl_newdel(struct sk_buff *skb, struct nlmsghdr *nlh,
 
        switch(nlh->nlmsg_type) {
        case RTM_NEWADDRLABEL:
+               if (ifal->ifal_index &&
+                   !__dev_get_by_index(net, ifal->ifal_index))
+                       return -EINVAL;
+
                err = ip6addrlbl_add(net, pfx, ifal->ifal_prefixlen,
                                     ifal->ifal_index, label,
                                     nlh->nlmsg_flags & NLM_F_REPLACE);