]> git.baikalelectronics.ru Git - kernel.git/commit
thp: call pmdp_invalidate() with correct virtual address
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Wed, 24 Feb 2016 15:58:03 +0000 (18:58 +0300)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 24 Feb 2016 18:46:30 +0000 (10:46 -0800)
commit4c12bd3b54e0ebb5ff049f991060ef54cebe3f12
tree9875a35bbccd797295fdef0a9df4ae0e93dfb69e
parent0e4192d80c5a9606fd675c89a18b5fd32c99d52c
thp: call pmdp_invalidate() with correct virtual address

Sebastian Ott and Gerald Schaefer reported random crashes on s390.
It was bisected to my THP refcounting patchset.

The problem is that pmdp_invalidated() called with wrong virtual
address. It got offset up by HPAGE_PMD_SIZE by loop over ptes.

The solution is to introduce new variable to be used in loop and don't
touch 'haddr'.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reported-and-tested-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Reported-and-tested-by Sebastian Ott <sebott@linux.vnet.ibm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Sasha Levin <sasha.levin@oracle.com>
Cc: Jerome Marchand <jmarchan@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/huge_memory.c