Commit 1dc69b5488 for qemu.org
commit 1dc69b548894a3b8f6f21160fe9a94b47572e42b
Author: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Date: Thu Sep 17 15:11:16 2026 -0700
tests/docker/docker.py: fix run command with $UID == 0
when running with uid 0 (like in nested container), podman run fails
sporadically with:
``
Error: preparing container ... for attach: container uses ID mappings ([]specs
.LinuxIDMapping{specs.LinuxIDMapping{ContainerID:0x3e9, HostID:0x0, Size:0x1}}), but doesn't map UID 0
```
Since default user in containers is 0 (run without -u option), there is
no need to repeat that in this case.
Tested-by: John Snow <jsnow@redhat.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Link: https://lore.kernel.org/qemu-devel/20260917221117.274619-3-pierrick.bouvier@oss.qualcomm.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index d97dda2696..7c15da59db 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -334,10 +334,11 @@ def run(self, cmd, keep, quiet, as_user=False):
if as_user:
uid = os.getuid()
- cmd = [ "-u", str(uid) ] + cmd
- # podman requires a bit more fiddling
- if self._command[0] == "podman":
- cmd.insert(0, '--userns=keep-id')
+ if uid != 0:
+ cmd = [ "-u", str(uid) ] + cmd
+ # podman requires a bit more fiddling
+ if self._command[0] == "podman":
+ cmd.insert(0, '--userns=keep-id')
ret = self._do_check(["run", "--rm", "--label",
"com.qemu.instance.uuid=" + label] + cmd,