Skip to content

Commit

Permalink
net: wan: fix error return code of uhdlc_init()
Browse files Browse the repository at this point in the history
[ Upstream commit 62765d3 ]

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: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
XidianGeneral authored and gregkh committed Mar 30, 2021
1 parent b8d9630 commit 31604dd
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/net/wan/fsl_ucc_hdlc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 31604dd

Please sign in to comment.