linux-stable/arch
Jan H. Schönherr 40ba283e26 KVM: Let KVM_SET_SIGNAL_MASK work as advertised
[ Upstream commit 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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-03 17:39:06 +01:00
..
alpha alpha/PCI: Fix noname IRQ level detection 2018-01-23 19:58:19 +01:00
arc ARC: uaccess: dont use "l" gcc inline asm constraint modifier 2018-01-10 09:31:21 +01:00
arm ARM: net: bpf: clarify tail_call index 2018-01-31 14:03:44 +01:00
arm64 bpf, arm64: fix stack_depth tracking in combination with tail calls 2018-01-31 14:03:50 +01:00
blackfin pinctrl: adi2: Fix Kconfig build problem 2017-12-20 10:10:34 +01:00
c6x License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
cris License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
frv License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
h8300 License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
hexagon License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
ia64 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-05 12:14:50 -08:00
m32r License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
m68k m68k: fix ColdFire node shift size calculation 2017-12-10 13:40:39 +01:00
metag License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
microblaze License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
mips KVM: Let KVM_SET_SIGNAL_MASK work as advertised 2018-02-03 17:39:06 +01:00
mn10300 License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
nios2 License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
openrisc License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
parisc parisc: qemu idle sleep support 2018-01-10 09:31:22 +01:00
powerpc KVM: Let KVM_SET_SIGNAL_MASK work as advertised 2018-02-03 17:39:06 +01:00
s390 KVM: Let KVM_SET_SIGNAL_MASK work as advertised 2018-02-03 17:39:06 +01:00
score License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
sh License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
sparc sparc64: repair calling incorrect hweight function from stubs 2018-01-02 20:31:13 +01:00
tile fcntl: don't cap l_start and l_end values for F_GETLK64 in compat syscall 2017-12-17 15:07:59 +01:00
um arch, mm: Allow arch_dup_mmap() to fail 2017-12-29 17:53:43 +01:00
unicore32 arch, mm: Allow arch_dup_mmap() to fail 2017-12-29 17:53:43 +01:00
x86 KVM: Let KVM_SET_SIGNAL_MASK work as advertised 2018-02-03 17:39:06 +01:00
xtensa License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
.gitignore
Kconfig kprobes: Use synchronize_rcu_tasks() for optprobe with CONFIG_PREEMPT=y 2017-12-10 13:40:40 +01:00