1
linux/arch/s390/mm
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
..
cmm.c [S390] cmm: remove unused binary sysctls. 2007-11-20 11:13:45 +01:00
extmem.c [S390] Convert to SPARSEMEM & SPARSEMEM_VMEMMAP 2008-04-30 13:38:48 +02:00
fault.c [S390] System z large page support. 2008-04-30 13:38:47 +02:00
hugetlbpage.c [S390] System z large page support. 2008-04-30 13:38:47 +02:00
init.c [S390] showmem: Only walk spanned pages. 2008-05-30 10:03:34 +02:00
Makefile [S390] guest page hinting light 2008-05-07 09:23:02 +02:00
mmap.c [S390] dynamic page tables. 2008-02-09 18:24:41 +01:00
page-states.c [S390] guest page hinting light 2008-05-07 09:23:02 +02:00
pgtable.c KVM: s390: fix locking order problem in enable_sie 2008-06-06 21:08:26 +03:00
vmem.c [S390] Fix section mismatch warnings. 2008-05-30 10:03:34 +02:00