Skip to content

Commit ffe4dfe

Browse files
committed
build.sh: sdk_run: Use :Z to relabel volumes attached to docker
When the repository is cloned to a directory with a domain that is not accessible by containers by default (like user_home_t), the build might fail due to access denials, or just fail silently. `ausearch -m avc -ts recent -i` shows violation logs like: ``` type=AVC msg=audit(08/22/2025 09:43:42.740:641) : avc: denied { write } for pid=18611 comm=rm name=coreboot dev="dm-0" ino=85471 scontext=system_u:system_r:container_t:s0:c100,c319 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=dir permissive=1 ``` - `container_t` cannot access `user_home_t`, so the access is denied. Adding `:Z` suffix to the volumes relabels them with a domain that is accessible to `container_t` in SELinux. Specifically `:Z` says that the volumes will be only accessible by this one single container, and not shared between multiple ones. This way the build.sh script can be used without issues on SELinux-enabled systems without changing SELinux enforcement mode. Source: https://docs.docker.com/engine/storage/bind-mounts/#configure-the-selinux-label Upstream-Status: Inappropriate [Dasharo downstream] Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
1 parent b577aaa commit ffe4dfe

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ BUILD_TIMELESS=${BUILD_TIMELESS:-0}
4646
AIRGAP=${AIRGAP:-0}
4747

4848
function sdk_run {
49-
docker run --rm -t -u $UID -v $PWD:/home/coreboot/coreboot \
50-
-v $HOME/.ssh:/home/coreboot/.ssh \
49+
docker run --rm -t -u $UID -v $PWD:/home/coreboot/coreboot:Z \
50+
-v $HOME/.ssh:/home/coreboot/.ssh:Z \
5151
-e BUILD_TIMELESS=${BUILD_TIMELESS} \
5252
-w /home/coreboot/coreboot ${DASHARO_SDK} \
5353
"$@"

0 commit comments

Comments
 (0)