提交 62765d39 编写于 作者: J Jia-Ju Bai 提交者: David S. Miller

net: wan: fix error return code of uhdlc_init()

When priv->rx_skbuff or priv->tx_skbuff is NULL, no error return code of
uhdlc_init() is assigned.
To fix this bug, ret is assigned with -ENOMEM in these cases.
Reported-by: NTOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: NJia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 143c253f
......@@ -204,14 +204,18 @@ static int uhdlc_init(struct ucc_hdlc_private *priv)
priv->rx_skbuff = kcalloc(priv->rx_ring_size,
sizeof(*priv->rx_skbuff),
GFP_KERNEL);
if (!priv->rx_skbuff)
if (!priv->rx_skbuff) {
ret = -ENOMEM;
goto free_ucc_pram;
}
priv->tx_skbuff = kcalloc(priv->tx_ring_size,
sizeof(*priv->tx_skbuff),
GFP_KERNEL);
if (!priv->tx_skbuff)
if (!priv->tx_skbuff) {
ret = -ENOMEM;
goto free_rx_skbuff;
}
priv->skb_curtx = 0;
priv->skb_dirtytx = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册