diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2013-05-29 13:08:39 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-05-31 17:23:53 +0200 |
commit | e86cbd8765bd2e1f9eeb209822449c9b1e5958cf (patch) | |
tree | b9cc9f2bb71a890d4661d852304d13d522cff808 /arch/s390 | |
parent | s390/dasd: fix handling of gone paths (diff) | |
download | linux-e86cbd8765bd2e1f9eeb209822449c9b1e5958cf.tar.xz linux-e86cbd8765bd2e1f9eeb209822449c9b1e5958cf.zip |
s390/pgtable: Fix gmap notifier address
The address of the gmap notifier was broken, resulting in
unhandled validity intercepts in KVM. Fix the rmap->vmaddr
to be on a segment boundary.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/mm/pgtable.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c index 18dc417aaf79..a938b548f07e 100644 --- a/arch/s390/mm/pgtable.c +++ b/arch/s390/mm/pgtable.c @@ -492,7 +492,7 @@ static int gmap_connect_pgtable(unsigned long address, unsigned long segment, mp = (struct gmap_pgtable *) page->index; rmap->gmap = gmap; rmap->entry = segment_ptr; - rmap->vmaddr = address; + rmap->vmaddr = address & PMD_MASK; spin_lock(&mm->page_table_lock); if (*segment_ptr == segment) { list_add(&rmap->list, &mp->mapper); |