static int mount_spawn(Mount *m, ExecCommand *c, pid_t *_pid) {
pid_t pid;
int r;
+ ExecParameters exec_params = {
+ .apply_permissions = true,
+ .apply_chroot = true,
+ .apply_tty_stdin = true,
+ };
assert(m);
assert(c);
if (r < 0)
goto fail;
+ exec_params.environment = UNIT(m)->manager->environment;
+ exec_params.confirm_spawn = UNIT(m)->manager->confirm_spawn;
+ exec_params.cgroup_supported = UNIT(m)->manager->cgroup_supported;
+ exec_params.cgroup_path = UNIT(m)->cgroup_path;
+ exec_params.runtime_prefix = manager_get_runtime_prefix(UNIT(m)->manager);
+ exec_params.unit_id = UNIT(m)->id;
+
r = exec_spawn(c,
- NULL,
&m->exec_context,
- NULL, 0,
- UNIT(m)->manager->environment,
- true,
- true,
- true,
- UNIT(m)->manager->confirm_spawn,
- UNIT(m)->manager->cgroup_supported,
- UNIT(m)->cgroup_path,
- manager_get_runtime_prefix(UNIT(m)->manager),
- UNIT(m)->id,
- 0,
- NULL,
+ &exec_params,
m->exec_runtime,
&pid);
if (r < 0)
m->control_command,
"/bin/mount",
m->sloppy_options ? "-ns" : "-n",
+ "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto",
+ "-o", m->parameters_fragment.options ? m->parameters_fragment.options : "",
m->parameters_fragment.what,
m->where,
- "-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto",
- m->parameters_fragment.options ? "-o" : NULL, m->parameters_fragment.options,
NULL);
else
r = -ENOENT;
m->control_command,
"/bin/mount",
m->sloppy_options ? "-ns" : "-n",
- m->parameters_fragment.what,
- m->where,
"-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto",
"-o", o,
+ m->parameters_fragment.what,
+ m->where,
NULL);
} else
r = -ENOENT;