net/net_namespace: Check the return value of register_pernet_subsys()
authorAditya Pakki <pakki001@umn.edu>
Mon, 24 Dec 2018 01:42:38 +0000 (19:42 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 08:20:51 +0000 (09:20 +0100)
[ Upstream commit 0eb987c874dc93f9c9d85a6465dbde20fdd3884c ]

In net_ns_init(), register_pernet_subsys() could fail while registering
network namespace subsystems. The fix checks the return value and
sends a panic() on failure.

Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Reviewed-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/core/net_namespace.c

index 6dab186d4b8f6415edb4a22e3ebb5645496d20d2..c60123dff803912c398cb6fa9e25a08f326fd879 100644 (file)
@@ -913,7 +913,8 @@ static int __init net_ns_init(void)
        init_net_initialized = true;
        up_write(&pernet_ops_rwsem);
 
-       register_pernet_subsys(&net_ns_ops);
+       if (register_pernet_subsys(&net_ns_ops))
+               panic("Could not register network namespace subsystems");
 
        rtnl_register(PF_UNSPEC, RTM_NEWNSID, rtnl_net_newid, NULL,
                      RTNL_FLAG_DOIT_UNLOCKED);