Netdev Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] veth: fix memory leak in veth_newlink()
@ 2020-08-30 13:13 Rustam Kovhaev
  2020-08-31  0:16 ` Toshiaki Makita
  2020-09-01 20:01 ` David Miller
  0 siblings, 2 replies; 6+ messages in thread
From: Rustam Kovhaev @ 2020-08-30 13:13 UTC (permalink / raw)
  To: davem, kuba; +Cc: netdev, bpf, linux-kernel, gregkh, Rustam Kovhaev

when register_netdevice(dev) fails we should check whether struct
veth_rq has been allocated via ndo_init callback and free it, because,
depending on the code path, register_netdevice() might not call
priv_destructor() callback

Reported-and-tested-by: syzbot+59ef240dd8f0ed7598a8@syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?extid=59ef240dd8f0ed7598a8
Signed-off-by: Rustam Kovhaev <rkovhaev@gmail.com>
---
 drivers/net/veth.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/veth.c b/drivers/net/veth.c
index a475f48d43c4..e40ca62a046a 100644
--- a/drivers/net/veth.c
+++ b/drivers/net/veth.c
@@ -1394,7 +1394,9 @@ static int veth_newlink(struct net *src_net, struct net_device *dev,
 	return 0;
 
 err_register_dev:
-	/* nothing to do */
+	priv = netdev_priv(dev);
+	if (priv->rq)
+		veth_dev_free(dev);
 err_configure_peer:
 	unregister_netdevice(peer);
 	return err;
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-09-01 22:59 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-30 13:13 [PATCH] veth: fix memory leak in veth_newlink() Rustam Kovhaev
2020-08-31  0:16 ` Toshiaki Makita
2020-08-31  0:51   ` Rustam Kovhaev
2020-08-31  1:43     ` Toshiaki Makita
2020-09-01 20:01 ` David Miller
2020-09-01 22:59   ` Rustam Kovhaev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).