summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/1918149
blob: ec360a8f6ee2b41572b94be9f04fd810432c9243 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
qemu-user reports wrong fault_addr in signal handler

When a SEGV signal occurs and si_addr of the info struct is nil, qemu still tries to translate the address from host to guest (handle_cpu_signal in accel/tcg/user-exec.c). This means, that the actual signal handler, will receive a fault_addr that is something like 0xffffffffbf709000.

I was able to get this to happen, by branching to a non canonical address on aarch64.
I used 5.2 (commit: 553032db17). However, building from source, this only seems to happen, if I use the same configure flags as the debian build:

../configure --static --target-list=aarch64-linux-user --disable-system --enable-trace-backends=simple --disable-linux-io-uring  --disable-pie --extra-cflags="-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"  --extra-ldflags="-Wl,-z,relro -Wl,--as-needed"

Let me know, if you need more details.