Skip to content

Commit 899fe86

Browse files
authored
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.
1 parent b577aaa commit 899fe86

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)