summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/1113.toml
blob: 6a1012c34c9d782e867cff4851383747acb15d52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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"