summary refs log tree commit diff
path: root/net/wireless/wext-core.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2016-03-16 14:29:08 +0100
committerJohannes Berg <johannes.berg@intel.com>2016-04-05 10:48:44 +0200
commit98bd147d7903580ca5d5dfa0bc39c2d16714d84e (patch)
tree665ab939fa6de287c4a70ca1e087d8a920f734b7 /net/wireless/wext-core.c
parent05cf8077e54b20dddb756eaa26f3aeb5c38dd3cf (diff)
downloadlinux-98bd147d7903580ca5d5dfa0bc39c2d16714d84e.tar.gz
wext: unregister_pernet_subsys() on notifier registration failure
If register_netdevice_notifier() fails (which in practice it can't
right now), we should call unregister_pernet_subsys(). Do that.

Reported-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/wext-core.c')
-rw-r--r--net/wireless/wext-core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c
index b50ee5d622e1..6250b1cfcde5 100644
--- a/net/wireless/wext-core.c
+++ b/net/wireless/wext-core.c
@@ -399,7 +399,10 @@ static int __init wireless_nlevent_init(void)
 	if (err)
 		return err;
 
-	return register_netdevice_notifier(&wext_netdev_notifier);
+	err = register_netdevice_notifier(&wext_netdev_notifier);
+	if (err)
+		unregister_pernet_subsys(&wext_pernet_ops);
+	return err;
 }
 
 subsys_initcall(wireless_nlevent_init);