aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r--net/ipv6/addrconf.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index f7c8bbeb27b7..8975d9501d50 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -489,7 +489,8 @@ static int inet6_netconf_fill_devconf(struct sk_buff *skb, int ifindex,
489 nla_put_s32(skb, NETCONFA_PROXY_NEIGH, devconf->proxy_ndp) < 0) 489 nla_put_s32(skb, NETCONFA_PROXY_NEIGH, devconf->proxy_ndp) < 0)
490 goto nla_put_failure; 490 goto nla_put_failure;
491 491
492 return nlmsg_end(skb, nlh); 492 nlmsg_end(skb, nlh);
493 return 0;
493 494
494nla_put_failure: 495nla_put_failure:
495 nlmsg_cancel(skb, nlh); 496 nlmsg_cancel(skb, nlh);
@@ -619,7 +620,7 @@ static int inet6_netconf_dump_devconf(struct sk_buff *skb,
619 cb->nlh->nlmsg_seq, 620 cb->nlh->nlmsg_seq,
620 RTM_NEWNETCONF, 621 RTM_NEWNETCONF,
621 NLM_F_MULTI, 622 NLM_F_MULTI,
622 -1) <= 0) { 623 -1) < 0) {
623 rcu_read_unlock(); 624 rcu_read_unlock();
624 goto done; 625 goto done;
625 } 626 }
@@ -635,7 +636,7 @@ cont:
635 NETLINK_CB(cb->skb).portid, 636 NETLINK_CB(cb->skb).portid,
636 cb->nlh->nlmsg_seq, 637 cb->nlh->nlmsg_seq,
637 RTM_NEWNETCONF, NLM_F_MULTI, 638 RTM_NEWNETCONF, NLM_F_MULTI,
638 -1) <= 0) 639 -1) < 0)
639 goto done; 640 goto done;
640 else 641 else
641 h++; 642 h++;
@@ -646,7 +647,7 @@ cont:
646 NETLINK_CB(cb->skb).portid, 647 NETLINK_CB(cb->skb).portid,
647 cb->nlh->nlmsg_seq, 648 cb->nlh->nlmsg_seq,
648 RTM_NEWNETCONF, NLM_F_MULTI, 649 RTM_NEWNETCONF, NLM_F_MULTI,
649 -1) <= 0) 650 -1) < 0)
650 goto done; 651 goto done;
651 else 652 else
652 h++; 653 h++;
@@ -4047,7 +4048,8 @@ static int inet6_fill_ifaddr(struct sk_buff *skb, struct inet6_ifaddr *ifa,
4047 if (nla_put_u32(skb, IFA_FLAGS, ifa->flags) < 0) 4048 if (nla_put_u32(skb, IFA_FLAGS, ifa->flags) < 0)
4048 goto error; 4049 goto error;
4049 4050
4050 return nlmsg_end(skb, nlh); 4051 nlmsg_end(skb, nlh);
4052 return 0;
4051 4053
4052error: 4054error:
4053 nlmsg_cancel(skb, nlh); 4055 nlmsg_cancel(skb, nlh);
@@ -4076,7 +4078,8 @@ static int inet6_fill_ifmcaddr(struct sk_buff *skb, struct ifmcaddr6 *ifmca,
4076 return -EMSGSIZE; 4078 return -EMSGSIZE;
4077 } 4079 }
4078 4080
4079 return nlmsg_end(skb, nlh); 4081 nlmsg_end(skb, nlh);
4082 return 0;
4080} 4083}
4081 4084
4082static int inet6_fill_ifacaddr(struct sk_buff *skb, struct ifacaddr6 *ifaca, 4085static int inet6_fill_ifacaddr(struct sk_buff *skb, struct ifacaddr6 *ifaca,
@@ -4101,7 +4104,8 @@ static int inet6_fill_ifacaddr(struct sk_buff *skb, struct ifacaddr6 *ifaca,
4101 return -EMSGSIZE; 4104 return -EMSGSIZE;
4102 } 4105 }
4103 4106
4104 return nlmsg_end(skb, nlh); 4107 nlmsg_end(skb, nlh);
4108 return 0;
4105} 4109}
4106 4110
4107enum addr_type_t { 4111enum addr_type_t {
@@ -4134,7 +4138,7 @@ static int in6_dump_addrs(struct inet6_dev *idev, struct sk_buff *skb,
4134 cb->nlh->nlmsg_seq, 4138 cb->nlh->nlmsg_seq,
4135 RTM_NEWADDR, 4139 RTM_NEWADDR,
4136 NLM_F_MULTI); 4140 NLM_F_MULTI);
4137 if (err <= 0) 4141 if (err < 0)
4138 break; 4142 break;
4139 nl_dump_check_consistent(cb, nlmsg_hdr(skb)); 4143 nl_dump_check_consistent(cb, nlmsg_hdr(skb));
4140 } 4144 }
@@ -4151,7 +4155,7 @@ static int in6_dump_addrs(struct inet6_dev *idev, struct sk_buff *skb,
4151 cb->nlh->nlmsg_seq, 4155 cb->nlh->nlmsg_seq,
4152 RTM_GETMULTICAST, 4156 RTM_GETMULTICAST,
4153 NLM_F_MULTI); 4157 NLM_F_MULTI);
4154 if (err <= 0) 4158 if (err < 0)
4155 break; 4159 break;
4156 } 4160 }
4157 break; 4161 break;
@@ -4166,7 +4170,7 @@ static int in6_dump_addrs(struct inet6_dev *idev, struct sk_buff *skb,
4166 cb->nlh->nlmsg_seq, 4170 cb->nlh->nlmsg_seq,
4167 RTM_GETANYCAST, 4171 RTM_GETANYCAST,
4168 NLM_F_MULTI); 4172 NLM_F_MULTI);
4169 if (err <= 0) 4173 if (err < 0)
4170 break; 4174 break;
4171 } 4175 }
4172 break; 4176 break;
@@ -4638,7 +4642,8 @@ static int inet6_fill_ifinfo(struct sk_buff *skb, struct inet6_dev *idev,
4638 goto nla_put_failure; 4642 goto nla_put_failure;
4639 4643
4640 nla_nest_end(skb, protoinfo); 4644 nla_nest_end(skb, protoinfo);
4641 return nlmsg_end(skb, nlh); 4645 nlmsg_end(skb, nlh);
4646 return 0;
4642 4647
4643nla_put_failure: 4648nla_put_failure:
4644 nlmsg_cancel(skb, nlh); 4649 nlmsg_cancel(skb, nlh);
@@ -4670,7 +4675,7 @@ static int inet6_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb)
4670 if (inet6_fill_ifinfo(skb, idev, 4675 if (inet6_fill_ifinfo(skb, idev,
4671 NETLINK_CB(cb->skb).portid, 4676 NETLINK_CB(cb->skb).portid,
4672 cb->nlh->nlmsg_seq, 4677 cb->nlh->nlmsg_seq,
4673 RTM_NEWLINK, NLM_F_MULTI) <= 0) 4678 RTM_NEWLINK, NLM_F_MULTI) < 0)
4674 goto out; 4679 goto out;
4675cont: 4680cont:
4676 idx++; 4681 idx++;
@@ -4747,7 +4752,8 @@ static int inet6_fill_prefix(struct sk_buff *skb, struct inet6_dev *idev,
4747 ci.valid_time = ntohl(pinfo->valid); 4752 ci.valid_time = ntohl(pinfo->valid);
4748 if (nla_put(skb, PREFIX_CACHEINFO, sizeof(ci), &ci)) 4753 if (nla_put(skb, PREFIX_CACHEINFO, sizeof(ci), &ci))
4749 goto nla_put_failure; 4754 goto nla_put_failure;
4750 return nlmsg_end(skb, nlh); 4755 nlmsg_end(skb, nlh);
4756 return 0;
4751 4757
4752nla_put_failure: 4758nla_put_failure:
4753 nlmsg_cancel(skb, nlh); 4759 nlmsg_cancel(skb, nlh);