s390/mm: fix user access page-table walk code
authorGerald Schaefer <gerald.schaefer@de.ibm.com>
Mon, 10 Sep 2012 14:43:26 +0000 (16:43 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 17 Sep 2012 07:44:24 +0000 (09:44 +0200)
commit4db84d4f07b87c452c6000e0595dc9570ed21b41
treec5e74358f74fd6fb8a2e4a9eec3c99d524c76018
parentdb2e1f43e7b2320d0450fe34e5ac4ac4d8c7708d
s390/mm: fix user access page-table walk code

The s390 page-table walk code, used for user copy and futex, currently
cannot handle huge pages. As far as user copy is concerned, that is
not really a problem because those functions will only be used on old
hardware that has no huge page support. But the futex code will also
use pagetable walk functions on current hardware when user space runs
in primary space mode. So, if a futex sits in a huge page, the futex
operation on it will result in a page fault loop or even data
corruption.

This patch adds the code for resolving huge page mappings in the user
access pagetable walk code on s390.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/lib/uaccess_pt.c