Manfred> I think just get_user_pages() should be sufficient: theYou are right.
Manfred> pages won't be swapped out. You don't need to set
Manfred> VM_LOCKED in vma->vm_flags to prevent the swap out. In
Manfred> the worst case, the pte is cleared a that will cause a
Manfred> soft page fault, but the physical address won't
Manfred> change. Multiple get_user_pages() calls on overlapping
Manfred> regions are ok, the page count is an atomic_t, at least
Manfred> 24-bit large.
There is one case that we ran into where the physical address can
change: if a process does a fork() and then triggers COW.