tree 7df23354c22b28e3b5b100f6c4f75a9f72032b8e
parent 33911a616b49aa19bca1ccf343442c6960bc3b68
author Axel Rasmussen <axelrasmussen@google.com> 1616047310 +1100
committer Tim Zimmermann <tim@linux4.de> 1721966658 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEuwYxAyE4TRnuhLgPbcIaY/gZxe8FAmajIEIACgkQbcIaY/gZ
 xe9fQw//aXP26So+p0g7BL9MX/eV9X5P0RAcIOZxkHk2osbXaPugzFLNINikbsEl
 EpoXnf8Z8qgnjY1YaN0w1Y20GjcQqS55tCZIz3niWcxfTXTyk9h6CEt4udSHYGYr
 GJ8GQpyoDxjk/BFrPC7Me1pr+r8a+sWK0zFAeoqOhQsxoHsVLdfXTrrrJCDAk6FZ
 lg6oYyzHZ9fJQ7m7Pb1ZAu773lGA427X3jCFydUwWl0IjZMb/R8Fc/bf0+OD3ovj
 Ufk4kFVK9pm09qgZU0m8RKq98YVUkkTB6Zb7T/IaUgV/s3CE7HZvwGbvLseISX0C
 UKPnBVYN+pD14RHU9UjQAMRhV09zzmtd45K2aTuNIpmpmUNKWHin+k02dFkRIjd2
 NZPZJDH2q0LsR2Mn/gZvmdbAx0AnUuf3sE/fRCTun1M4r0UTj45f2LH1BqSuyy4R
 amnljvH56YelrvjMGve4fpH2PEjWtbPKHh6KYe1MQAG3VMgWqCCy4lAqUpzXAExC
 GkGRttHW+p4tXQWXpw5y/T7iiakJtuUOenICTe/ZXhCLd8OrsJehamtuTKS2NnKE
 1q3r0BThca+gSJ9zcxI/vkmgDU8Fcy4IeU+JkaxmcNU0VozI9wfbnQBkKZdQQJmW
 1ahlirZxYxCBVPcKT+O7Brr92/Tn9Ec15unAg+98WK/VudFLgUY=
 =jClP
 -----END PGP SIGNATURE-----

BACKPORT: FROMGIT: userfaultfd: add UFFDIO_CONTINUE ioctl

This ioctl is how userspace ought to resolve "minor" userfaults. The
idea is, userspace is notified that a minor fault has occurred. It might
change the contents of the page using its second non-UFFD mapping, or
not. Then, it calls UFFDIO_CONTINUE to tell the kernel "I have ensured
the page contents are correct, carry on setting up the mapping".

Note that it doesn't make much sense to use UFFDIO_{COPY,ZEROPAGE} for
MINOR registered VMAs. ZEROPAGE maps the VMA to the zero page; but in
the minor fault case, we already have some pre-existing underlying page.
Likewise, UFFDIO_COPY isn't useful if we have a second non-UFFD mapping.
We'd just use memcpy() or similar instead.

It turns out hugetlb_mcopy_atomic_pte() already does very close to what
we want, if an existing page is provided via `struct page **pagep`. We
already special-case the behavior a bit for the UFFDIO_ZEROPAGE case, so
just extend that design: add an enum for the three modes of operation,
and make the small adjustments needed for the MCOPY_ATOMIC_CONTINUE
case. (Basically, look up the existing page, and avoid adding the
existing page to the page cache or calling set_page_huge_active() on
it.)

Link: https://lkml.kernel.org/r/20210301222728.176417-5-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Cc: Adam Ruprecht <ruprecht@google.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Cannon Matthews <cannonmatthews@google.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chinwen Chang <chinwen.chang@mediatek.com>
Cc: David Rientjes <rientjes@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Huang Ying <ying.huang@intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jann Horn <jannh@google.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: "Michal Koutn" <mkoutny@suse.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Oliver Upton <oupton@google.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shawn Anastasio <shawn@anastas.io>
Cc: Steven Price <steven.price@arm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

(cherry picked from commit 14ea86439abaf3423cd9b6712ed5ce8451d2d181
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git akpm)
Link: https://lore.kernel.org/patchwork/patch/1388136/

Conflicts: fs/userfaultfd.c
	include/linux/hugetlb.h
	include/linux/userfaultfd_k.h
	include/uapi/linux/userfaultfd.h
	mm/hugetlb.c
	mm/userfaultfd.c
(1. 8f251a3d5ce3bdea73bd045ed35db64f32e0d0d9 is not cherry-picked yet so
    switched SetHPageMigratable() to set_active_huge_page() in
    mm/hugetlb.c,
2. Other files conflicts due to lack of write-protect userfaultfd
support. Manually rebased accordingly
3. Included linux/mm.h in linux/userfaultfd_k.h for definitions of
VM_UFFD_*)
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 160737021
Bug: 169683130
Change-Id: I45b62959dcb1d343154cb831113a26e47e77c8af
