diff options
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/579.toml')
| -rw-r--r-- | gitlab/issues/target_missing/host_missing/accel_missing/579.toml | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/579.toml b/gitlab/issues/target_missing/host_missing/accel_missing/579.toml new file mode 100644 index 00000000..d531cdc6 --- /dev/null +++ b/gitlab/issues/target_missing/host_missing/accel_missing/579.toml @@ -0,0 +1,58 @@ +id = 579 +title = "chown() fails when it should succeed in QEMU user mode on Linux/sparc64" +state = "opened" +created_at = "2021-08-29T15:13:31.203Z" +closed_at = "n/a" +labels = ["linux-user"] +url = "https://gitlab.com/qemu-project/qemu/-/issues/579" +host-os = "Ubuntu 20.04" +host-arch = "x86_64" +qemu-version = "6.1.0" +guest-os = "Linux" +guest-arch = "sparc64" +description = """The `chown()` function fails, instead of succeeding, in a particular situation.""" +reproduce = """[foo.c](/uploads/630d9b83671a071f4ded4da43b6c1b9b/foo.c) + +1. +``` +# apt install g++-10-sparc64-linux-gnu +# mkdir -p /usr/sparc64-linux-gnu/etc +# touch /usr/sparc64-linux-gnu/etc/ld.so.cache +``` +2. +``` +$ sparc64-linux-gnu-gcc-10 -Wall -static foo.c +``` +[a.out](/uploads/bbab43a1b78e6d16ee13e0eff5e963a5/a.out) + +3. Transfer the a.out file to a Linux/sparc64 machine; execute these commands there: +``` +$ id +``` +Verify that you are in 2 or more groups. +``` +$ touch file +$ ln -s file link +$ ln -s link link2 +$ ./a.out; echo $? +``` +It prints `0`. + +4. +``` +$ id +``` +Verify that you are in 2 or more groups. +``` +$ touch file +$ ln -s file link +$ ln -s link link2 +$ QEMU_LD_PREFIX=/usr/sparc64-linux-gnu ~/inst-qemu/6.1.0/bin/qemu-sparc64 ./a.out; echo $? +``` +Expected: `0` +Actual: +``` +chown: Operation not permitted +1 +```""" +additional = """""" |