diff mbox

tun/tap: Add the missed return value check of register_netdevice_notifier

Message ID 1500543694-23465-1-git-send-email-xiangxia.m.yue@gmail.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Tonghao Zhang July 20, 2017, 9:41 a.m. UTC
There is some codes of tun/tap module which did not check the return
value of register_netdevice_notifier. Add the check now.

Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
---
 drivers/net/tun.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Comments

David Miller July 24, 2017, 8:45 p.m. UTC | #1
From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Date: Thu, 20 Jul 2017 02:41:34 -0700

> There is some codes of tun/tap module which did not check the return
> value of register_netdevice_notifier. Add the check now.
> 
> Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>

Applied.
Tonghao Zhang July 25, 2017, 2:43 a.m. UTC | #2
One question, this type bugfix will be applied to net-next ?
> On Jul 25, 2017, at 4:45 AM, David Miller <davem@davemloft.net> wrote:
> 
>> 
>> There is some codes of tun/tap module which did not check the return
>> value of register_netdevice_notifier. Add the check now.
>> 
>> Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> 
> Applied.
David Miller July 25, 2017, 3:49 a.m. UTC | #3
From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Date: Tue, 25 Jul 2017 10:43:26 +0800

> One question, this type bugfix will be applied to net-next ?

'net' is periodically merged into 'net-next', so yes.
diff mbox

Patch

diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 3d4c245..32ad873 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -2598,8 +2598,16 @@  static int __init tun_init(void)
 		goto err_misc;
 	}
 
-	register_netdevice_notifier(&tun_notifier_block);
+	ret = register_netdevice_notifier(&tun_notifier_block);
+	if (ret) {
+		pr_err("Can't register netdevice notifier\n");
+		goto err_notifier;
+	}
+
 	return  0;
+
+err_notifier:
+	misc_deregister(&tun_miscdev);
 err_misc:
 	rtnl_link_unregister(&tun_link_ops);
 err_linkops: