kernel-ark/arch/s390
Christian Borntraeger 74b6b522ec KVM: s390: fix locking order problem in enable_sie
There are potential locking problem in enable_sie. We take the task_lock
and the mmap_sem. As exit_mm uses the same locks vice versa, this triggers
a lockdep warning.
The second problem is that dup_mm and mmput might sleep, so we must not
hold the task_lock at that moment.

The solution is to dup the mm unconditional and use the task_lock before and
afterwards to check  if we can use the new mm. dup_mm and mmput are called
outside the task_lock, but we run update_mm while holding the task_lock,
protection us against ptrace.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-06-06 21:08:26 +03:00
..
appldata [S390] appldata: prevent cpu hotplug when walking cpu_online_map. 2008-05-30 10:03:34 +02:00
boot [PATCH] use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh 2005-06-23 09:45:07 -07:00
crypto [CRYPTO] sha384: Hardware acceleration for s390 2008-04-21 10:19:21 +08:00
hypfs Kobject: convert arch/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:39 -08:00
kernel [S390] disassembler: fix idte instruction format. 2008-05-30 10:03:36 +02:00
kvm KVM: s390: use yield instead of schedule to implement diag 0x44 2008-06-06 21:08:26 +03:00
lib [S390] uaccess_mvcos: #ifdef config dependent code. 2008-04-30 13:38:46 +02:00
math-emu [S390] remove -traditional 2008-04-30 13:38:44 +02:00
mm KVM: s390: fix locking order problem in enable_sie 2008-06-06 21:08:26 +03:00
oprofile Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
defconfig [S390] Update default configuration. 2008-05-30 10:03:36 +02:00
Kconfig [S390] fix sparsemem related compile error with allnoconfig on s390 2008-05-30 10:03:33 +02:00
Kconfig.debug [S390] DEBUG_PAGEALLOC support for s390. 2008-02-05 16:50:54 +01:00
Makefile KVM: s390: arch backend for the kvm kernel module 2008-04-27 12:00:42 +03:00