summaryrefslogtreecommitdiffstats
path: root/src/core/execute-serialize.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/execute-serialize.c')
-rw-r--r--src/core/execute-serialize.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/core/execute-serialize.c b/src/core/execute-serialize.c
index 6fa0b21968..bf6592faed 100644
--- a/src/core/execute-serialize.c
+++ b/src/core/execute-serialize.c
@@ -1391,6 +1391,10 @@ static int exec_parameters_serialize(const ExecParameters *p, const ExecContext
if (r < 0)
return r;
+ r = serialize_fd(f, fds, "exec-parameters-pidref-transport-fd", p->pidref_transport_fd);
+ if (r < 0)
+ return r;
+
if (c && exec_context_restrict_filesystems_set(c)) {
r = serialize_fd(f, fds, "exec-parameters-bpf-outer-map-fd", p->bpf_restrict_fs_map_fd);
if (r < 0)
@@ -1660,6 +1664,14 @@ static int exec_parameters_deserialize(ExecParameters *p, FILE *f, FDSet *fds) {
continue;
close_and_replace(p->handoff_timestamp_fd, fd);
+ } else if ((val = startswith(l, "exec-parameters-pidref-transport-fd="))) {
+ int fd;
+
+ fd = deserialize_fd(fds, val);
+ if (fd < 0)
+ continue;
+
+ close_and_replace(p->pidref_transport_fd, fd);
} else if ((val = startswith(l, "exec-parameters-bpf-outer-map-fd="))) {
int fd;
@@ -1926,6 +1938,10 @@ static int exec_context_serialize(const ExecContext *c, FILE *f) {
if (r < 0)
return r;
+ r = serialize_item(f, "exec-context-private-pids", private_pids_to_string(c->private_pids));
+ if (r < 0)
+ return r;
+
r = serialize_bool_elide(f, "exec-context-remove-ipc", c->remove_ipc);
if (r < 0)
return r;
@@ -2813,6 +2829,10 @@ static int exec_context_deserialize(ExecContext *c, FILE *f) {
if (r < 0)
return r;
c->private_ipc = r;
+ } else if ((val = startswith(l, "exec-context-private-pids="))) {
+ c->private_pids = private_pids_from_string(val);
+ if (c->private_pids < 0)
+ return -EINVAL;
} else if ((val = startswith(l, "exec-context-remove-ipc="))) {
r = parse_boolean(val);
if (r < 0)