net: Convert uevent_net_ops
authorKirill Tkhai <ktkhai@virtuozzo.com>
Tue, 13 Feb 2018 09:28:33 +0000 (12:28 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Feb 2018 15:36:07 +0000 (10:36 -0500)
uevent_net_init() and uevent_net_exit() create and
destroy netlink socket, and these actions serialized
in netlink code.

Parallel execution with other pernet_operations
makes the socket disappear earlier from uevent_sock_list
on ->exit. As userspace can't be interested in broadcast
messages of dying net, and, as I see, no one in kernel
listen them, we may safely make uevent_net_ops async.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Acked-by: Andrei Vagin <avagin@virtuozzo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
lib/kobject_uevent.c

index 9fe6ec8..9539d7a 100644 (file)
@@ -650,6 +650,7 @@ found:
 static struct pernet_operations uevent_net_ops = {
        .init   = uevent_net_init,
        .exit   = uevent_net_exit,
+       .async  = true,
 };
 
 static int __init kobject_uevent_init(void)