diff options
Diffstat (limited to 'results/classifier/118/graphic/579')
| -rw-r--r-- | results/classifier/118/graphic/579 | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/results/classifier/118/graphic/579 b/results/classifier/118/graphic/579 new file mode 100644 index 000000000..407aa520d --- /dev/null +++ b/results/classifier/118/graphic/579 @@ -0,0 +1,80 @@ +graphic: 0.973 +user-level: 0.953 +performance: 0.950 +mistranslation: 0.937 +semantic: 0.929 +architecture: 0.922 +files: 0.916 +device: 0.911 +permissions: 0.888 +debug: 0.871 +kernel: 0.823 +hypervisor: 0.803 +PID: 0.796 +socket: 0.791 +network: 0.782 +ppc: 0.745 +TCG: 0.688 +VMM: 0.664 +peripherals: 0.657 +vnc: 0.652 +risc-v: 0.606 +boot: 0.603 +arm: 0.598 +register: 0.585 +assembly: 0.523 +KVM: 0.518 +x86: 0.514 +virtual: 0.430 +i386: 0.272 + +chown() fails when it should succeed in QEMU user mode on Linux/sparc64 +Description of problem: +The `chown()` function fails, instead of succeeding, in a particular situation. +Steps to 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 information: + |