From: David S. Miller Date: Mon, 2 Apr 2012 00:19:38 +0000 (-0400) Subject: infiniband: Stop using NLA_PUT*(). X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=4e24ffa4d9fed762147c954755f8cb124e85740a;p=openwrt%2Fstaging%2Fblogic.git infiniband: Stop using NLA_PUT*(). These macros contain a hidden goto, and are thus extremely error prone and make code hard to audit. Signed-off-by: David S. Miller --- diff --git a/drivers/infiniband/core/netlink.c b/drivers/infiniband/core/netlink.c index 396e29370304..e497dfbee435 100644 --- a/drivers/infiniband/core/netlink.c +++ b/drivers/infiniband/core/netlink.c @@ -125,7 +125,8 @@ int ibnl_put_attr(struct sk_buff *skb, struct nlmsghdr *nlh, unsigned char *prev_tail; prev_tail = skb_tail_pointer(skb); - NLA_PUT(skb, type, len, data); + if (nla_put(skb, type, len, data)) + goto nla_put_failure; nlh->nlmsg_len += skb_tail_pointer(skb) - prev_tail; return 0;