From 0aee1c30c046219b8cbd17492f1cb60c68d7e4f3 Mon Sep 17 00:00:00 2001 From: Stefan Eichenberger Date: Sun, 24 Jan 2021 23:58:50 +0100 Subject: [PATCH] hotplug.c: set nl_pid to zero With the current solution where nl_pid is set through getpid we run into problems when running procd in a different PID namespace (e.g. container). The PID number inside the active PID namespace will be set which doesn't match the global PID. Therefore, procd will never receive any netlink messages. By setting nl_pid to zero the kernel will assign the global PID automatically and fixes the issue. Signed-off-by: Stefan Eichenberger Acked-by: John Crispin --- plug/hotplug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plug/hotplug.c b/plug/hotplug.c index 9aeb1c1..beff38a 100644 --- a/plug/hotplug.c +++ b/plug/hotplug.c @@ -612,7 +612,7 @@ void hotplug(char *rules) rule_file = strdup(rules); nls.nl_family = AF_NETLINK; - nls.nl_pid = getpid(); + nls.nl_pid = 0; nls.nl_groups = -1; if ((hotplug_fd.fd = socket(PF_NETLINK, SOCK_DGRAM | SOCK_CLOEXEC, NETLINK_KOBJECT_UEVENT)) == -1) { -- 2.30.2