summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/108/none/1429313
blob: 12e9d13499d0c9e77d18e8b2c1db2938eda0fff2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
device: 0.389
graphic: 0.286
network: 0.262
performance: 0.242
socket: 0.231
semantic: 0.163
PID: 0.109
permissions: 0.096
vnc: 0.096
boot: 0.087
debug: 0.087
files: 0.053
KVM: 0.034
other: 0.031

qemu-user doesn't block target signals on entry to signal hanlder.

Upon entry to a target signal handler the function process_pending_signals in linux-user/signal.c block the appropriate host signals, but signals already received and queued by Qemu are not blocked. If multiple signals arrive in quick succession this results incorrect recursion in the target signal handler.

The attached test case my be run as:

$ (sleep 2 ; echo) | qemu-i386 ./a.out
.................. Recursion in signal handler!
qemu: uncaught target signal 6 (Aborted) - core dumped



The patches to block signals on entry to the signal handler have now been applied to master.