aboutsummaryrefslogtreecommitdiffstats
path: root/net/decnet
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2015-01-18 23:36:08 -0500
committerDavid S. Miller <davem@davemloft.net>2015-01-18 23:36:08 -0500
commit7b46a644a407f9f2f1c8f7b2af157c79af55b49e (patch)
tree5db384821399a6e07abd70a61cc0afd454144e27 /net/decnet
parent27c00132852b77b12e625cd6a0ccf43d6bf5795f (diff)
netlink: Fix bugs in nlmsg_end() conversions.
Commit 053c095a82cf ("netlink: make nlmsg_end() and genlmsg_end() void") didn't catch all of the cases where callers were breaking out on the return value being equal to zero, which they no longer should when zero means success. Fix all such cases. Reported-by: Marcel Holtmann <marcel@holtmann.org> Reported-by: Scott Feldman <sfeldma@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/decnet')
-rw-r--r--net/decnet/dn_route.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c
index 812e5e6e88fb..1d7c1256e845 100644
--- a/net/decnet/dn_route.c
+++ b/net/decnet/dn_route.c
@@ -1710,9 +1710,6 @@ static int dn_cache_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh)
1710 rt->rt_flags |= RTCF_NOTIFY; 1710 rt->rt_flags |= RTCF_NOTIFY;
1711 1711
1712 err = dn_rt_fill_info(skb, NETLINK_CB(in_skb).portid, nlh->nlmsg_seq, RTM_NEWROUTE, 0, 0); 1712 err = dn_rt_fill_info(skb, NETLINK_CB(in_skb).portid, nlh->nlmsg_seq, RTM_NEWROUTE, 0, 0);
1713
1714 if (err == 0)
1715 goto out_free;
1716 if (err < 0) { 1713 if (err < 0) {
1717 err = -EMSGSIZE; 1714 err = -EMSGSIZE;
1718 goto out_free; 1715 goto out_free;
@@ -1763,7 +1760,7 @@ int dn_cache_dump(struct sk_buff *skb, struct netlink_callback *cb)
1763 skb_dst_set(skb, dst_clone(&rt->dst)); 1760 skb_dst_set(skb, dst_clone(&rt->dst));
1764 if (dn_rt_fill_info(skb, NETLINK_CB(cb->skb).portid, 1761 if (dn_rt_fill_info(skb, NETLINK_CB(cb->skb).portid,
1765 cb->nlh->nlmsg_seq, RTM_NEWROUTE, 1762 cb->nlh->nlmsg_seq, RTM_NEWROUTE,
1766 1, NLM_F_MULTI) <= 0) { 1763 1, NLM_F_MULTI) < 0) {
1767 skb_dst_drop(skb); 1764 skb_dst_drop(skb);
1768 rcu_read_unlock_bh(); 1765 rcu_read_unlock_bh();
1769 goto done; 1766 goto done;