net/x25: Fix skb leak in x25_lapb_receive_frame()

[ Upstream commit 2929cceb2f ]

x25_lapb_receive_frame() using skb_copy() to get a private copy of
skb, the new skb should be freed in the undersized/fragmented skb
error handling path. Otherwise there is a memory leak.

Fixes: cb101ed2c3 ("x25: Handle undersized/fragmented skbs")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Martin Schiller <ms@dev.tdt.de>
Link: https://lore.kernel.org/r/20221114110519.514538-1-weiyongjun@huaweicloud.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Wei Yongjun 2022-11-14 11:05:19 +00:00 коммит произвёл Greg Kroah-Hartman
Родитель af4b57fa6b
Коммит c8baf1fc24
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -117,7 +117,7 @@ int x25_lapb_receive_frame(struct sk_buff *skb, struct net_device *dev,
if (!pskb_may_pull(skb, 1)) {
x25_neigh_put(nb);
return 0;
goto drop;
}
switch (skb->data[0]) {