s390/mm: downgrade page table after fork of a 31 bit process
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 26 Jul 2012 06:53:06 +0000 (08:53 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 26 Jul 2012 14:24:14 +0000 (16:24 +0200)
commit0f6f281b731d20bfe75c13f85d33f3f05b440222
tree0f8c23d3fca50dd2830ddc978501cd45a0057f45
parent8143adafd2d00b13f1db96ce06b6bf479e0bfe5b
s390/mm: downgrade page table after fork of a 31 bit process

The downgrade of the 4 level page table created by init_new_context is
currently done only in start_thread31. If a 31 bit process forks the
new mm uses a 4 level page table, including the task size of 2<<42
that goes along with it. This is incorrect as now a 31 bit process
can map memory beyond 2GB. Define arch_dup_mmap to do the downgrade
after fork.

Cc: stable@vger.kernel.org
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/mmu_context.h
arch/s390/include/asm/processor.h
arch/s390/mm/mmap.c
arch/s390/mm/pgtable.c