Jakub Sitnicki
97df75d7bd
socket: pass socket FDs to all ExecXYZ= commands but ExecStartPre=
...
Today listen file descriptors created by socket unit don't get passed to
commands in Exec{Start,Stop}{Pre,Post}= socket options.
This prevents ExecXYZ= commands from accessing the created socket FDs to do
any kind of system setup which involves the socket but is not covered by
existing socket unit options.
One concrete example is to insert a socket FD into a BPF map capable of
holding socket references, such as BPF sockmap/sockhash [1] or
reuseport_sockarray [2]. Or, similarly, send the file descriptor with
SCM_RIGHTS to another process, which has access to a BPF map for storing
sockets.
To unblock this use case, pass ListenXYZ= file descriptors to ExecXYZ=
commands as listen FDs [4]. As an exception, ExecStartPre= command does not
inherit any file descriptors because it gets invoked before the listen FDs
are created.
This new behavior can potentially break existing configurations. Commands
invoked from ExecXYZ= might not expect to inherit file descriptors through
sd_listen_fds protocol.
To prevent breakage, add a new socket unit parameter,
PassFileDescriptorsToExec=, to control whether ExecXYZ= programs inherit
listen FDs.
[1] https://docs.kernel.org/bpf/map_sockmap.html
[2] https://lore.kernel.org/r/20180808075917.3009181-1-kafai@fb.com
[3] https://man.archlinux.org/man/socket.7#SO_INCOMING_CPU
[4] https://www.freedesktop.org/software/systemd/man/latest/sd_listen_fds.html
2024-03-27 01:41:26 +08:00
..
2024-03-26 13:19:33 +01:00
2022-10-26 08:39:34 +02:00
2022-10-26 08:39:34 +02:00
2023-12-25 15:51:47 +01:00
2024-01-31 10:32:46 +00:00
2024-01-24 17:54:38 +01:00
2024-03-14 11:34:04 +01:00
2024-03-14 11:34:04 +01:00
2023-12-25 09:15:53 +01:00
2022-10-26 08:39:34 +02:00
2022-10-26 08:39:34 +02:00
2022-10-26 08:39:34 +02:00
2024-03-22 12:46:32 +01:00
2024-03-07 19:14:36 +01:00
2023-12-25 15:51:47 +01:00
2024-03-21 02:49:38 +01:00
2023-09-19 13:13:02 +02:00
2024-03-20 15:24:11 +01:00
2023-07-04 22:56:59 +02:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2022-10-26 08:39:34 +02:00
2023-09-26 17:03:26 +02:00
2023-12-25 15:51:47 +01:00
2022-10-26 08:39:34 +02:00
2024-03-23 01:05:13 +00:00
2024-03-07 19:14:36 +01:00
2023-12-25 15:51:47 +01:00
2024-01-22 14:39:22 +01:00
2023-03-29 02:08:18 +01:00
2022-10-26 08:39:34 +02:00
2023-12-25 15:51:47 +01:00
2022-10-26 08:39:34 +02:00
2024-03-16 12:52:48 +01:00
2022-10-26 08:39:34 +02:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2022-10-26 08:39:34 +02:00
2022-10-26 08:39:34 +02:00
2022-10-26 08:39:34 +02:00
2022-10-26 08:39:34 +02:00
2022-10-26 08:39:34 +02:00
2024-03-07 19:14:36 +01:00
2022-10-26 08:39:34 +02:00
2024-03-07 19:14:36 +01:00
2024-03-20 15:24:11 +01:00
2024-02-15 14:08:20 +00:00
2024-02-28 22:04:58 +01:00
2024-03-08 21:26:48 +00:00
2023-12-24 09:23:53 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-01-24 17:54:38 +01:00
2023-12-25 15:51:47 +01:00
2023-05-22 18:05:29 +01:00
2024-01-17 11:30:04 +08:00
2024-03-07 19:14:36 +01:00
2024-01-24 02:19:00 +01:00
2023-12-25 15:51:47 +01:00
2024-03-04 16:12:23 +04:00
2024-03-06 09:55:01 +00:00
2023-12-25 15:51:47 +01:00
2024-03-12 01:57:16 +09:00
2024-03-08 08:25:07 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-07 19:14:36 +01:00
2024-03-23 01:05:13 +00:00
2024-01-08 10:30:41 +01:00
2024-03-01 22:29:07 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-02-14 15:08:03 +01:00
2024-01-23 16:27:50 +01:00
2024-01-12 21:43:34 +01:00
2024-01-23 16:27:50 +01:00
2024-02-08 21:11:26 +00:00
2024-03-05 15:28:54 +01:00
2024-03-27 01:41:26 +08:00
2023-12-25 15:51:47 +01:00
2024-01-24 17:54:38 +01:00
2024-01-17 23:59:05 +00:00
2023-12-25 15:51:47 +01:00
2024-02-14 14:58:37 +01:00
2022-10-26 08:39:34 +02:00
2024-03-20 15:24:11 +01:00
2023-12-25 15:51:47 +01:00
2023-03-30 18:55:55 +01:00
2023-03-30 18:29:49 +01:00
2024-03-07 19:14:36 +01:00
2024-03-26 03:08:38 +09:00
2024-03-05 15:29:04 +01:00
2024-03-08 08:25:07 +01:00
2024-03-19 16:37:22 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-01-29 14:43:05 +01:00
2024-01-29 14:43:05 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2022-10-26 08:39:34 +02:00
2023-12-26 13:10:35 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-23 08:28:57 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-02-27 18:15:51 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-01-26 14:41:20 +00:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-01 22:25:42 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-14 14:25:52 +08:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-19 12:31:36 +00:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-02-14 14:58:37 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2022-10-26 08:39:34 +02:00
2022-10-26 08:39:34 +02:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-26 13:10:35 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2022-10-26 08:39:34 +02:00
2023-12-25 15:51:47 +01:00
2024-03-10 16:30:34 +01:00
2024-03-07 19:14:36 +01:00
2024-03-04 16:12:21 +04:00
2023-12-24 09:23:53 +01:00
2023-12-24 10:46:55 +01:00
2023-12-25 15:51:47 +01:00
2023-12-26 08:59:53 +01:00
2023-12-26 08:59:53 +01:00
2024-03-14 11:34:04 +01:00
2023-12-25 15:51:47 +01:00
2024-03-24 01:28:28 +08:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-01-03 09:30:41 +09:00
2024-02-28 15:33:51 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-14 16:54:49 +00:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-21 23:03:42 +00:00
2024-03-20 15:24:11 +01:00
2024-03-14 14:25:53 +08:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-02-02 09:25:57 +09:00
2024-02-20 16:50:00 +01:00
2023-12-25 15:51:47 +01:00
2024-03-20 15:24:11 +01:00
2024-03-05 02:19:58 +08:00
2023-12-26 13:10:36 +01:00
2024-01-10 03:08:31 +09:00
2024-02-17 11:20:00 +00:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-02-08 20:36:44 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-02-12 09:30:35 +01:00
2024-03-10 16:13:19 +00:00
2024-03-10 16:13:19 +00:00
2024-02-19 11:18:11 +00:00
2023-12-25 15:51:47 +01:00
2023-12-26 13:10:36 +01:00
2024-01-11 17:54:19 +01:00
2024-03-01 22:29:07 +01:00
2023-12-26 13:10:35 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-06 09:55:01 +00:00
2024-03-06 09:55:01 +00:00
2024-03-06 09:55:01 +00:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-10 17:50:54 +00:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-02-28 15:33:51 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-01-30 03:27:36 +08:00
2024-03-20 15:24:11 +01:00
2023-12-26 13:10:35 +01:00
2024-01-17 11:25:45 +08:00
2024-03-20 15:24:11 +01:00
2024-03-06 09:55:01 +00:00
2023-12-25 15:51:47 +01:00
2024-03-20 15:24:11 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-20 15:24:11 +01:00
2024-03-26 13:36:42 +00:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-26 13:19:33 +01:00
2024-03-07 19:14:36 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-20 15:24:11 +01:00
2024-02-23 12:52:28 +00:00
2024-01-11 16:05:20 +01:00
2023-12-25 15:51:47 +01:00
2024-03-20 15:24:11 +01:00
2024-03-10 21:24:52 +01:00
2024-03-05 12:12:35 -05:00
2024-01-11 12:19:44 +00:00
2024-03-25 08:30:09 +01:00
2023-12-25 15:51:47 +01:00
2024-03-07 19:14:36 +01:00
2023-12-25 15:51:47 +01:00
2024-02-09 17:57:41 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-06 21:44:12 +00:00
2023-12-25 15:51:47 +01:00
2024-02-12 13:33:30 +01:00
2024-01-03 13:49:02 +01:00
2024-03-20 15:24:11 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-02-28 15:33:51 +01:00
2024-02-28 15:33:51 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-01-11 12:19:44 +00:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-22 16:28:03 +00:00
2023-12-25 15:51:47 +01:00
2024-01-03 18:38:46 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-18 13:16:48 +00:00
2023-12-25 15:51:47 +01:00
2024-02-17 11:20:00 +00:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-02-28 11:35:36 +07:00
2024-01-10 02:07:18 +08:00
2024-02-28 15:33:51 +01:00
2024-02-28 17:31:02 +05:30
2024-03-20 15:24:11 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-03-20 15:24:11 +01:00
2024-02-08 20:36:44 +01:00
2024-03-13 23:36:25 +00:00
2024-02-12 16:49:42 +00:00
2024-03-15 14:09:52 +00:00
2023-12-25 15:51:47 +01:00
2024-03-27 01:41:26 +08:00
2024-03-26 13:19:33 +01:00
2024-01-10 02:07:18 +08:00
2023-12-25 15:51:47 +01:00
2024-02-20 16:50:00 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-02-28 15:33:51 +01:00
2024-02-17 11:20:00 +00:00
2024-03-19 12:31:36 +00:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-24 09:32:26 +01:00
2023-12-25 15:51:47 +01:00
2023-12-24 10:46:55 +01:00
2024-03-04 16:12:23 +04:00
2024-03-07 19:14:36 +01:00
2024-02-09 17:57:42 +01:00
2023-09-26 17:03:26 +02:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2023-12-25 15:51:47 +01:00
2024-01-12 05:12:44 +09:00
2024-02-20 13:10:30 +09:00
2023-12-25 15:51:47 +01:00
2023-06-14 13:18:00 +02:00
2024-03-12 11:36:08 +01:00
2024-03-14 11:34:04 +01:00
2024-03-14 11:34:04 +01:00
2023-12-25 15:51:47 +01:00
2024-03-20 15:24:11 +01:00
2023-12-25 15:51:47 +01:00
2024-03-20 15:24:11 +01:00
2023-12-24 09:32:26 +01:00
2024-02-17 11:20:00 +00:00
2022-10-26 08:39:34 +02:00
2023-09-26 17:03:26 +02:00