diff options
Diffstat (limited to 'results/classifier/108/other/1903833')
| -rw-r--r-- | results/classifier/108/other/1903833 | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/results/classifier/108/other/1903833 b/results/classifier/108/other/1903833 new file mode 100644 index 00000000..02928781 --- /dev/null +++ b/results/classifier/108/other/1903833 @@ -0,0 +1,41 @@ +graphic: 0.619 +device: 0.618 +semantic: 0.533 +performance: 0.518 +boot: 0.358 +network: 0.350 +permissions: 0.344 +socket: 0.330 +other: 0.314 +debug: 0.273 +PID: 0.265 +vnc: 0.230 +files: 0.148 +KVM: 0.119 + +User mode qemu-aarch: SIGGSEGV signal handler works wrong + +I have a user mode qemu-aarch issue. Program with SIGSEGV signal handler works wrong under qemu-aarch: +once the progam handles the SEGV signal, qemu marks the program's page protected, and signal handler gets SEGV on each subsequent memory access instruction within a program. + +The issue is reproduced on WSL Ubuntu 20.04 under Windows 10, qemu-aarch64 version 5.1.50 +The issue is also reproducible on the latest upstream qemu-aarch build. + +The following workaround disables mprotect call and fixes the issue: https://github.com/BorisUlasevich/qemu/commit/3063d9a64f8395185d65c6b6710d28ee92cd8be5 + +The issue can be reproduced on OpenJDK which reports SIGSEGV immediately after start. The small reproducer program is attached. + + + +The patch is most definitely wrong. The page protection +is required to implement self-modifying code, of which a +signal trampoline is a subset. + +Moreover, your test case works for me using both +x86_64-linux and aarch64-linux as hosts. + +There may be a bug, but I suspect it to be within WSL. +I have no way to test that one way or another. + +[Expired for QEMU because there has been no activity for 60 days.] + |