id = 1113 title = "TMPDIR is not usable for snapshot-blockdevs, if not root" state = "opened" created_at = "2022-07-20T10:52:40.785Z" closed_at = "n/a" labels = ["Storage", "workflow::Needs Info"] url = "https://gitlab.com/qemu-project/qemu/-/issues/1113" host-os = "linux" host-arch = "n/a" qemu-version = "n/a" guest-os = "n/a" guest-arch = "n/a" description = """for using static disk-content we're using `snapshot`-flag for certain disks and set `TMPDIR` to a VM-specific path. when started as root, all is ok. when started as non-root, `getenv(TMPDIR)` in function `get_tmp_filename()` in file `block.c` return `NULL`, because glibc handles `TMPDIR` as `UNSECURE_ENVVAR` (glibc-src: `sysdeps/generic/unsecvars.h`) well, we could compile qemu by ourself, but then we might miss important updates, so maybe this can be solved in main-source? possible solutions: - additionally look at another var like `QEMU_TMPDIR`, if `getenv("TMPDIR")` results in `NULL` - add a global option to qemu like `--tmpdir=...` - add a device-specific option like `snapshotdir=...`""" reproduce = "n/a" additional = "n/a"