On 1/7/21 2:24 PM, Linus Torvalds wrote:
On Thu, Jan 7, 2021 at 2:20 PM Linus Torvalds
<torva...@linux-foundation.org> wrote:

Hmm, add a check for the page being PageAnon(), perhaps?

If it's a shared vma, then the page can be pinned shared with multiple
mappings, I agree.

Or check the vma directly for whether it's a COW vma. That's probably
a more obvious test, but would have to be done outside of
page_maybe_dma_pinned().

For example, in copy_present_page(), we've already done that COW-vma
test, so if we want to strengthen just _that_ test, then it would be
sufficient to just add a

         /* This cannot be a pinned page if it has more than one mapping */
         if (page_mappings(page) != 1)
                 return 1;

to copy_present_page() along with the existing page_maybe_dma_pinned() test.

No?

             Linus

That approach makes me a lot happier, yes. Because it doesn't add constraints
to the RDMA cases, but still does what we need here.


thanks,
--
John Hubbard
NVIDIA

Reply via email to