mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-04 04:06:26 +00:00
caif: 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 <davem@davemloft.net>
This commit is contained in:
parent
14ad6647f3
commit
2809cec5b5
@ -421,14 +421,14 @@ static int ipcaif_fill_info(struct sk_buff *skb, const struct net_device *dev)
|
||||
struct chnl_net *priv;
|
||||
u8 loop;
|
||||
priv = netdev_priv(dev);
|
||||
NLA_PUT_U32(skb, IFLA_CAIF_IPV4_CONNID,
|
||||
priv->conn_req.sockaddr.u.dgm.connection_id);
|
||||
NLA_PUT_U32(skb, IFLA_CAIF_IPV6_CONNID,
|
||||
priv->conn_req.sockaddr.u.dgm.connection_id);
|
||||
if (nla_put_u32(skb, IFLA_CAIF_IPV4_CONNID,
|
||||
priv->conn_req.sockaddr.u.dgm.connection_id) ||
|
||||
nla_put_u32(skb, IFLA_CAIF_IPV6_CONNID,
|
||||
priv->conn_req.sockaddr.u.dgm.connection_id))
|
||||
goto nla_put_failure;
|
||||
loop = priv->conn_req.protocol == CAIFPROTO_DATAGRAM_LOOP;
|
||||
NLA_PUT_U8(skb, IFLA_CAIF_LOOPBACK, loop);
|
||||
|
||||
|
||||
if (nla_put_u8(skb, IFLA_CAIF_LOOPBACK, loop))
|
||||
goto nla_put_failure;
|
||||
return 0;
|
||||
nla_put_failure:
|
||||
return -EMSGSIZE;
|
||||
|
Loading…
Reference in New Issue
Block a user