summaryrefslogtreecommitdiffstats
path: root/mm/zpool.c
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2018-07-13 16:58:52 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2018-07-14 11:11:09 -0700
commitbce73e4842390f7b7309c8e253e139db71288ac3 (patch)
treeac9b8bf5f1ac4fa8d53d6cbfe731de70a2416344 /mm/zpool.c
parent3951dbf232e8500bef27f77437fd5d04b67cc6d1 (diff)
downloadlinux-bce73e4842390f7b7309c8e253e139db71288ac3.tar.bz2
mm: do not drop unused pages when userfaultd is running
KVM guests on s390 can notify the host of unused pages. This can result in pte_unused callbacks to be true for KVM guest memory. If a page is unused (checked with pte_unused) we might drop this page instead of paging it. This can have side-effects on userfaultd, when the page in question was already migrated: The next access of that page will trigger a fault and a user fault instead of faulting in a new and empty zero page. As QEMU does not expect a userfault on an already migrated page this migration will fail. The most straightforward solution is to ignore the pte_unused hint if a userfault context is active for this VMA. Link: http://lkml.kernel.org/r/20180703171854.63981-1-borntraeger@de.ibm.com Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: Mike Rapoport <rppt@linux.vnet.ibm.com> Cc: Janosch Frank <frankja@linux.ibm.com> Cc: David Hildenbrand <david@redhat.com> Cc: Cornelia Huck <cohuck@redhat.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/zpool.c')
0 files changed, 0 insertions, 0 deletions