]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitd476bf607c05e77090580736d58db46db6e4c08c
treec5e74358f74fd6fb8a2e4a9eec3c99d524c76018
parent3227a2b23b0617378911789d83f6da7ba4f05b1d
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