linux/arch/s390
Claudio Imbrenda 306d6c49ac s390/kvm: fix deadlock when killed by oom
When the oom killer kills a userspace process in the page fault handler
while in guest context, the fault handler fails to release the mm_sem
if the FAULT_FLAG_RETRY_NOWAIT option is set. This leads to a deadlock
when tearing down the mm when the process terminates. This bug can only
happen when pfault is enabled, so only KVM clients are affected.

The problem arises in the rare cases in which handle_mm_fault does not
release the mm_sem. This patch fixes the issue by manually releasing
the mm_sem when needed.

Fixes: 24eb3a824c ("KVM: s390: Add FAULT_FLAG_RETRY_NOWAIT for guest fault")
Cc: <stable@vger.kernel.org> # 3.15+
Signed-off-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2018-07-16 15:45:46 +02:00
..
appldata s390/appldata: reuse generic proc handler functions 2018-07-06 08:48:08 +02:00
boot s390/decompressor: avoid packing *.o.chkbss files into startup.a 2018-07-02 12:32:22 +02:00
configs s390: update defconfigs 2018-04-27 06:51:31 +02:00
crypto s390/archrandom: Rework arch random implementation. 2018-05-30 11:18:04 +02:00
hypfs s390: hypfs: use ktime_get_seconds() instead of get_seconds() 2018-06-25 10:14:41 +02:00
include s390/purgatory: Remove duplicate variable definitions 2018-07-06 08:47:51 +02:00
kernel s390/topology: correct topology mode proc handler 2018-07-06 08:47:53 +02:00
kvm - Error path bug fix for overflow tests (Dan) 2018-06-12 18:28:00 -07:00
lib s390: introduce compile time check for empty .bss section 2018-05-09 10:55:01 +02:00
mm s390/kvm: fix deadlock when killed by oom 2018-07-16 15:45:46 +02:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-06-06 18:39:49 -07:00
numa
oprofile
pci s390/pci: add fmt3 fmb 2018-07-04 08:35:58 +02:00
purgatory s390/purgatory: Remove duplicate variable definitions 2018-07-06 08:47:51 +02:00
scripts s390/build: add *.o.chkbss files to targets list 2018-07-02 12:32:23 +02:00
tools s390/tools: fix gcc 8 stringop-truncation warnings 2018-07-02 11:25:05 +02:00
defconfig s390: update defconfig 2018-04-16 10:29:34 +02:00
Kbuild s390/kexec_file: Add purgatory 2018-04-16 09:10:22 +02:00
Kconfig s390/decompressor: support uncompressed kernel 2018-06-25 10:14:40 +02:00
Kconfig.debug
Makefile s390/decompressor: support extra debug flags 2018-07-02 12:32:24 +02:00