mirror of https://gitee.com/openkylin/linux.git
20b7035c66
KVM API says for the signal mask you set via KVM_SET_SIGNAL_MASK, that "any unblocked signal received [...] will cause KVM_RUN to return with -EINTR" and that "the signal will only be delivered if not blocked by the original signal mask". This, however, is only true, when the calling task has a signal handler registered for a signal. If not, signal evaluation is short-circuited for SIG_IGN and SIG_DFL, and the signal is either ignored without KVM_RUN returning or the whole process is terminated. Make KVM_SET_SIGNAL_MASK behave as advertised by utilizing logic similar to that in do_sigtimedwait() to avoid short-circuiting of signals. Signed-off-by: Jan H. Schönherr <jschoenh@amazon.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
diag.c | ||
gaccess.c | ||
gaccess.h | ||
guestdbg.c | ||
intercept.c | ||
interrupt.c | ||
irq.h | ||
kvm-s390.c | ||
kvm-s390.h | ||
priv.c | ||
sigp.c | ||
trace-s390.h | ||
trace.h | ||
vsie.c |