diff options
Diffstat (limited to 'results/classifier/118/none/1701808')
| -rw-r--r-- | results/classifier/118/none/1701808 | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/results/classifier/118/none/1701808 b/results/classifier/118/none/1701808 new file mode 100644 index 000000000..c9b169619 --- /dev/null +++ b/results/classifier/118/none/1701808 @@ -0,0 +1,69 @@ +graphic: 0.232 +semantic: 0.225 +architecture: 0.153 +user-level: 0.152 +device: 0.116 +mistranslation: 0.107 +PID: 0.097 +performance: 0.058 +vnc: 0.050 +ppc: 0.046 +network: 0.046 +assembly: 0.045 +arm: 0.043 +hypervisor: 0.039 +x86: 0.038 +register: 0.036 +peripherals: 0.035 +debug: 0.035 +socket: 0.034 +permissions: 0.032 +virtual: 0.030 +risc-v: 0.029 +VMM: 0.029 +i386: 0.026 +boot: 0.020 +TCG: 0.020 +KVM: 0.018 +kernel: 0.017 +files: 0.016 + +stack smashing in or after recvmsg system call in aarch64 user mode + +A program that invokes recvmsg aborts with "*** stack smashing detected ***" when run in qemu-aarch64 (user mode), but works fine when running on native aarch64 hardware. + +How to reproduce: +$ aarch64-linux-gnu-gcc-5 -O -Wall /media/develdata/devel/qemu-bug/testpassfd.c -static -DEXTRA_SPACE=0 +$ QEMU_LD_PREFIX=/usr/aarch64-linux-gnu ~/inst-qemu/2.9.0/bin/qemu-aarch64 ./a.out +*** stack smashing detected ***: ./a.out terminated +qemu: uncaught target signal 6 (Aborted) - core dumped + +On native aarch64 hardware: +$ ./a.out +$ echo $? +0 + +The parameter EXTRA_SPACE can be used to add additional space to the array that receives the recvmsg data. With -DEXTRA_SPACE=9 (or larger), the program runs fine. Which suggests that recvmsg is storing up to 9 bytes more than allowed in memory. + + + + + +Likewise for 32-bit arm: +$ ~/inst-qemu/2.9.0/bin/qemu-arm ./a.arm +*** stack smashing detected ***: ./a.arm terminated +qemu: uncaught target signal 6 (Aborted) - core dumped + + +The behaviour in qemu-2.10 is the same as in qemu-2.9. + +The behaviour in qemu-2.11 is the same as in qemu-2.9. + +This should be fixed by http://patchwork.ozlabs.org/patch/849170/ I think. + + +Patch has been included here: +https://git.qemu.org/?p=qemu.git;a=commitdiff;h=7174970a94df10ee84143 + +Confirmed: It's fixed in qemu-2.12. + |