[S390] take mmap_sem when walking guest page table
authorCarsten Otte <cotte@de.ibm.com>
Sun, 30 Oct 2011 14:17:02 +0000 (15:17 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Sun, 30 Oct 2011 14:16:45 +0000 (15:16 +0100)
commit499069e1a421e2a85e76846c3237f00f1a5cb435
tree01cf74636909b06b5a986f97a90bf0af5040212d
parentcc772456ac9b460693492b3a3d89e8c81eda5874
[S390] take mmap_sem when walking guest page table

gmap_fault needs to walk the guest page table. However, parts of
that may change if some other thread does munmap. In that case
gmap_unmap_notifier will also unmap the corresponding parts from
the guest page table. We need to take mmap_sem in order to serialize
these operations.
do_exception now calls __gmap_fault with mmap_sem held which does
not get exported to modules. The exported function, which is called
from KVM, now takes mmap_sem.

Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/pgtable.h
arch/s390/mm/fault.c
arch/s390/mm/pgtable.c