mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-13 22:25:03 +00:00
net: wan: fix error return code of uhdlc_init()
[ Upstream commit 62765d3955
]
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>
This commit is contained in:
parent
0da0f199e7
commit
b90de232a8
1 changed files with 6 additions and 2 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue