guix/gnu/build
Reepca Russelstein 4e6df8040e
activation: Create directory with specified perms in ‘mkdir-p/perms’.
There is currently a window of time between when the desired directory is
created and when its permissions are changed.  During this time, its
permissions are restricted only by the umask.

Of course, in the "directory already exists" case, this doesn't matter, but if
the directory has been specifically deleted ahead of time so that it is
created afresh, this is an unnecessary window.

We can avoid this by passing the caller-provided BITS to 'mkdirat' when
attempting to create the last directory.

* gnu/build/activation.scm (mkdir-p/perms): Create target directory with BITS
  permissions.

Change-Id: I03d2c620872e86b6f591abe0f1c8317aa1245383
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-11-03 23:10:44 +01:00
..
accounts.scm accounts: Fix typo in comment. 2023-10-12 18:53:06 +02:00
activation.scm activation: Create directory with specified perms in ‘mkdir-p/perms’. 2024-11-03 23:10:44 +01:00
bootloader.scm
chromium-extension.scm chromium-extension: Compute json at argument evaluation time. 2023-12-27 17:18:52 +01:00
cross-toolchain.scm gnu: cross-toolchain: Add set-cross-path for AVR. 2023-12-11 13:36:51 +02:00
dbus-service.scm services: dbus-service, secret-service: Do not cause (fibers) to be loaded. 2023-05-06 17:12:45 +02:00
file-systems.scm file-systems: Add support for exFAT. 2024-09-01 02:00:00 +02:00
hurd-boot.scm hurd-boot: Support system init: Create essential device nodes. 2024-10-15 11:13:48 +02:00
icecat-extension.scm gnu: ‘make-icecat-extension’ inherits package location. 2023-12-10 21:46:52 +01:00
image.scm image: Add support for btrfs. 2024-10-14 14:08:43 +02:00
install.scm services: activation: Ensure /run existence. 2024-02-19 18:42:12 +01:00
jami-service.scm
linux-boot.scm linux-boot: Don't create /root before it's used. 2023-11-19 01:00:00 +01:00
linux-container.scm linux-container: 'container-excursion' forks to join the PID namespace. 2023-01-30 22:24:27 +01:00
linux-initrd.scm
linux-modules.scm gnu: linux-libre: Enable Zstd compression of kernel modules. 2024-05-29 22:01:23 -04:00
locale.scm
marionette.scm marionette: Add #:peek? to ‘wait-for-tcp-port?’. 2024-02-10 22:59:56 +01:00
secret-service.scm services: secret-service: Make the endpoint configurable. 2024-02-10 22:59:43 +01:00
shepherd.scm shepherd: Remove ‘make-forkexec-constructor/container’. 2023-12-22 00:31:42 +01:00
svg.scm