]> git.baikalelectronics.ru Git - kernel.git/commit
userfaultfd_zeropage: return -ENOSPC in case mm has gone
authorMike Rapoport <rppt@linux.vnet.ibm.com>
Wed, 2 Aug 2017 20:32:15 +0000 (13:32 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Aug 2017 00:16:12 +0000 (17:16 -0700)
commit1ed2b26e09a0e6864edbae4beada7600dda75c5b
tree89fc20ba88a75c6da517d88d1f7c9450ac0002e9
parentbedba98ffa95b3c59a1c65e506fe9b714d35e4b4
userfaultfd_zeropage: return -ENOSPC in case mm has gone

In the non-cooperative userfaultfd case, the process exit may race with
outstanding mcopy_atomic called by the uffd monitor.  Returning -ENOSPC
instead of -EINVAL when mm is already gone will allow uffd monitor to
distinguish this case from other error conditions.

Unfortunately I overlooked userfaultfd_zeropage when updating
userfaultd_copy().

Link: http://lkml.kernel.org/r/1501136819-21857-1-git-send-email-rppt@linux.vnet.ibm.com
Fixes: 74833f50f9bc9 ("userfaultfd_copy: return -ENOSPC in case mm has gone")
Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Pavel Emelyanov <xemul@virtuozzo.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/userfaultfd.c