Linus Torvalds 6581ccf03e mm: fix __access_remote_vm() GUP failure case
Commit ca5e863233e8 ("mm/gup: remove vmas parameter from
get_user_pages_remote()") removed the vma argument from GUP handling,
and instead added a helper function (get_user_page_vma_remote()) that
looks it up separately using 'vma_lookup()'.  And then converted
existing users that needed a vma to use the helper instead.

However, the helper function intentionally acts exactly like the old
get_user_pages_remote() did, and only fills in 'vma' on successful page
lookup.  Fine so far.

However, __access_remote_vm() wants the vma even for the unsuccessful
case, and used to do a

	vma = vma_lookup(mm, addr);

explicitly to look it up when the get_user_page() failed.

However, that conversion commit incorrectly removed that vma lookup,
thinking that get_user_page_vma_remote() would have done it.  Not so.

So add the vma_lookup() back in.

Fixes: ca5e863233e8 ("mm/gup: remove vmas parameter from get_user_pages_remote()")
Cc: Lorenzo Stoakes <lstoakes@gmail.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2023-06-28 12:20:24 -07:00
..
2023-06-09 16:25:17 -07:00
2023-06-19 16:19:05 -07:00
2023-06-19 16:19:25 -07:00
2023-06-19 16:19:25 -07:00
2023-06-23 16:59:30 -07:00
2023-06-19 16:19:25 -07:00
2023-04-30 13:00:38 -07:00
2023-06-19 16:19:05 -07:00
2023-06-23 16:59:30 -07:00
2023-06-23 16:59:30 -07:00
2023-04-12 17:36:23 -07:00
2023-06-19 16:19:25 -07:00
2023-06-19 16:19:25 -07:00
2023-06-19 16:19:25 -07:00
2023-06-19 16:19:25 -07:00
2023-06-19 16:19:25 -07:00
2023-06-19 16:19:25 -07:00
2023-06-19 16:19:25 -07:00
2023-06-19 16:19:25 -07:00
2023-06-05 09:36:39 +02:00
2023-06-19 16:19:25 -07:00
2023-06-23 16:59:30 -07:00
2023-06-23 16:59:30 -07:00
2023-04-12 17:36:23 -07:00
2023-06-19 16:19:25 -07:00
2023-04-08 13:45:37 -07:00