diff options
author | Lennart Poettering <lennart@poettering.net> | 2023-11-29 12:49:37 +0100 |
---|---|---|
committer | Mike Yuan <me@yhndnzj.com> | 2024-01-04 14:03:51 +0100 |
commit | 5863f1da4283f77a231ad3658306cad3716e4b44 (patch) | |
tree | 30583f8bdceb6b6676af62606a775a227c6b7987 /src/fsck | |
parent | Fix typo in verb_make_policy explanation (diff) | |
download | systemd-5863f1da4283f77a231ad3658306cad3716e4b44.tar.xz systemd-5863f1da4283f77a231ad3658306cad3716e4b44.zip |
execute: make sure Type=exec and PAMName= work together
If PAMName= is used we'll spawn a PAM session for the service, and leave
a process around that closes the PAM session eventually. That process
must close the "exec_fd" that we use to implement Type=exec. After all
the logic relies on the fact that execve() will implicitly close the
exec_fd, and the EOF seen on it is hence indication for the service
manager that execve() has worked. But if we keep an fd open in the PAM
service process, then this is not going to work.
Hence close the fd explicitly so that it definitely doesn't stay pinned
in the child.
Diffstat (limited to 'src/fsck')
0 files changed, 0 insertions, 0 deletions