Re: locking user space memory in kernel

From: Libor Michalek
Date: Wed Apr 07 2004 - 19:48:44 EST


----- Forwarded message from Manfred Spraul <manfred@xxxxxxxxxxxxxxxx> -----
>
> Date: Sun, 21 Mar 2004 12:31:59 +0100
> From: Manfred Spraul <manfred@xxxxxxxxxxxxxxxx>
> To: Eli Cohen <mlxk@xxxxxxxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: locking user space memory in kernel
>
> Hi Eli,
>
> I think just get_user_pages() should be sufficient: the pages won't be
> swapped out. You don't need to set VM_LOCKED in vma->vm_flags to prevent
> the swap out. In the worst case, the pte is cleared a that will cause a
> soft page fault, but the physical address won't change. Multiple
> get_user_pages() calls on overlapping regions are ok, the page count is
> an atomic_t, at least 24-bit large.

The soft page fault is a problem if the device is going to write data
into the buffer and then notify the user that the buffer now contains
valid data. If the soft page fault occurs before the device has written
to the page list, once the user is notified of the write and reads the
buffer, it will no longer be the same pages as the ones to which the
device wrote. Is setting VM_LOCKED the only way to prevent the soft
page fault and this issue?


-Libor






-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/