• Suren Baghdasaryan's avatar
    mm: handle userfaults under VMA lock · 29a22b9e
    Suren Baghdasaryan authored
    Enable handle_userfault to operate under VMA lock by releasing VMA lock
    instead of mmap_lock and retrying.  Note that FAULT_FLAG_RETRY_NOWAIT
    should never be used when handling faults under per-VMA lock protection
    because that would break the assumption that lock is dropped on retry.
    
    [surenb@google.com: fix a lockdep issue in vma_assert_write_locked]
      Link: https://lkml.kernel.org/r/20230712195652.969194-1-surenb@google.com
    Link: https://lkml.kernel.org/r/20230630211957.1341547-7-surenb@google.comSigned-off-by: default avatarSuren Baghdasaryan <surenb@google.com>
    Acked-by: default avatarPeter Xu <peterx@redhat.com>
    Cc: Alistair Popple <apopple@nvidia.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Christian Brauner <brauner@kernel.org>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: David Howells <dhowells@redhat.com>
    Cc: Davidlohr Bueso <dave@stgolabs.net>
    Cc: Hillf Danton <hdanton@sina.com>
    Cc: "Huang, Ying" <ying.huang@intel.com>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Josef Bacik <josef@toxicpanda.com>
    Cc: Laurent Dufour <ldufour@linux.ibm.com>
    Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
    Cc: Lorenzo Stoakes <lstoakes@gmail.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Michel Lespinasse <michel@lespinasse.org>
    Cc: Minchan Kim <minchan@google.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Punit Agrawal <punit.agrawal@bytedance.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    29a22b9e
userfaultfd.c 58.5 KB