giving access of one process's memory to another via kernel module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm prototyping a device driver that is backed by a userspace process (server) instead of a physical device. When a user process (client) submits an I/O, I want the server to have access to that memory.
 
I've tried pinning the client pages (get_user_pages_fast) and inserting them in the server's VM (with vm_insert_page while serving an mmap call from this context).
 
This works if the client allocated memory with MAP_SHARED. If not, vm_insert_page fails with EINVAL (probably because the client's page has PageAnon=1 set).
 
A real device would have access to this memory. Is there a way to make a virtual device (my server, implemented in a separate userspace context) have access to it?
 
PS. I haven't managed to register to the list so please CC me to your replies





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux