]> git.baikalelectronics.ru Git - kernel.git/commit
userfaultfd: fix remap event with MREMAP_DONTUNMAP
authorBrian Geffon <bgeffon@google.com>
Thu, 14 May 2020 00:50:44 +0000 (17:50 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 14 May 2020 17:00:35 +0000 (10:00 -0700)
commitcf8fa43c284bdeeaa4aa297860e88231bcff0c27
tree3f735c317ae9dc46ee144abae0d0bf80baf4e687
parentd473b847939eb97059c17d99dadec2ba3e2a2ebf
userfaultfd: fix remap event with MREMAP_DONTUNMAP

A user is not required to set a new address when using MREMAP_DONTUNMAP
as it can be used without MREMAP_FIXED.  When doing so the remap event
will use new_addr which may not have been set and we didn't propagate it
back other then in the return value of remap_to.

Because ret is always the new address it's probably more correct to use
it rather than new_addr on the remap_event_complete call, and it
resolves this bug.

Fixes: 1a798f218ef034e ("mm/mremap: add MREMAP_DONTUNMAP to mremap()")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Brian Geffon <bgeffon@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: "Michael S . Tsirkin" <mst@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Sonny Rao <sonnyrao@google.com>
Cc: Joel Fernandes <joel@joelfernandes.org>
Link: http://lkml.kernel.org/r/20200506172158.218366-1-bgeffon@google.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/mremap.c