]> git.ipfire.org Git - thirdparty/systemd.git/commit
tree-wide: include unistd.h where necessary
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 24 Jun 2025 19:51:20 +0000 (04:51 +0900)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 30 Jun 2025 07:19:15 +0000 (09:19 +0200)
commit4f18ff2e29b8054f30b084abcabf5f689f4b340b
tree3fd715d0b8835bb2951f4980e35b5d250a34cd32
parentb9c344b5c0f4bf015751a52792af4392e10fecbf
tree-wide: include unistd.h where necessary

We use symbols provided by unistd.h without including it. E.g.
open(), close(), read(), write(), access(), symlink(), unlink(), rmdir(),
fsync(), syncfs(), lseek(), ftruncate(), fchown(), dup2(), pipe2(),
getuid(), getgid(), gettid(), getppid(), pipe2(), execv(), _exit(),
environ, STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO, F_OK, and their
friends and variants, so on.

Currently, unistd.h is indirectly included mainly in the following two paths:
- through missing_syscall.h, which is planned to covert to .c file.
- through signal.h -> bits/sigstksz.h, which is new since glibc-2.34.
  Note, signal.h is included by sd-eevent.h. So, many source files
  indirectly include unistd.h if newer glibc is used.

Currently, our baseline on glibc is 2.31. We need to support glibc older
than 2.34, but unfortunately, we do not have any CI environments with
such old glibc. CIFuzz uses glibc-2.31, but it builds only fuzzers, and
many files are even not compiled.
103 files changed:
src/analyze/analyze-condition.c
src/analyze/analyze-verify-util.c
src/basic/hashmap.c
src/basic/lock-util.c
src/basic/namespace-util.c
src/basic/pidref.c
src/basic/random-util.c
src/basic/signal-util.c
src/core/cgroup.c
src/core/crash-handler.c
src/core/dbus-execute.c
src/core/dbus-unit.c
src/core/dynamic-user.c
src/core/emergency-action.c
src/core/exec-credential.c
src/core/exec-invoke.c
src/core/execute-serialize.c
src/core/import-creds.c
src/core/load-fragment.c
src/core/selinux-access.c
src/home/homectl.c
src/home/homed-home.c
src/home/homed-manager-bus.c
src/home/homed-manager.c
src/home/homework-cifs.c
src/home/homework-fscrypt.c
src/home/homework-luks.c
src/home/homework.c
src/import/import-fs.c
src/import/import.c
src/import/importctl.c
src/import/importd.c
src/journal-remote/fuzz-journal-remote.c
src/journal/fuzz-journald-native-fd.c
src/journal/journald-context.c
src/journal/journald-manager.c
src/libsystemd-network/sd-dhcp-server-lease.c
src/libsystemd/sd-bus/test-bus-watch-bind.c
src/libsystemd/sd-event/sd-event.c
src/libudev/libudev-device.c
src/login/logind-brightness.c
src/machine/image-dbus.c
src/machine/image-varlink.c
src/machine/image.c
src/machine/machined-core.c
src/mountfsd/mountfsd-manager.c
src/mountfsd/mountwork.c
src/network/networkd.c
src/nspawn/nspawn-mount.c
src/nspawn/nspawn-network.c
src/nsresourced/nsresourced-manager.c
src/nsresourced/nsresourcework.c
src/nsresourced/test-userns-restrict.c
src/portable/portable.c
src/repart/repart.c
src/run/run.c
src/shared/bus-polkit.c
src/shared/dissect-image.c
src/shared/edit-util.c
src/shared/journal-util.c
src/shared/portable-util.c
src/shared/serialize.c
src/shared/tests.c
src/sulogin-shell/sulogin-shell.c
src/systemctl/systemctl-sysv-compat.c
src/sysupdate/sysupdate-transfer.c
src/sysupdate/sysupdated.c
src/test/test-cgroup-util.c
src/test/test-conf-files.c
src/test/test-conf-parser.c
src/test/test-dirent-util.c
src/test/test-env-util.c
src/test/test-execute.c
src/test/test-hashmap-plain.c
src/test/test-json.c
src/test/test-loop-block.c
src/test/test-macro.c
src/test/test-memfd-util.c
src/test/test-mount-util.c
src/test/test-namespace.c
src/test/test-os-util.c
src/test/test-path.c
src/test/test-proc-cmdline.c
src/test/test-psi-util.c
src/test/test-rlimit-util.c
src/test/test-set.c
src/test/test-string-util.c
src/test/test-tmpfile-util.c
src/test/test-uid-range.c
src/test/test-unit-file.c
src/test/test-unit-name.c
src/test/test-user-util.c
src/test/test-varlink.c
src/test/test-vpick.c
src/test/test-watch-pid.c
src/timesync/timesyncd-manager.c
src/timesync/timesyncd.c
src/udev/udev-manager.c
src/udev/udev-spawn.c
src/udev/udev-watch.c
src/userdb/userdbd-manager.c
src/varlinkctl/varlinkctl.c
src/volatile-root/volatile-root.c