we are trying to implement double buffering in the following away.
we have two buffers in the kernel..
the user is able to mmap one buffer to the user space
using mmap() system call.
we have used remap_page_range() to setup the mapping.with one buffer.
this is working fine
sometimes it may be necessary for the kernel to map the other buffer
to the user space (to the same virtual address) so that the orginal mapped buffer can be dma transferred.
to perform this new mapping we have again used remap_page_range()
but the kernel oops'es when this is done..as follows..
Jun 11 15:26:50 EMB kernel: forget_pte: old mapping existed! Jun 11 15:26:50 EMB kernel: ------------[ cut here ]------------ Jun 11 15:26:50 EMB kernel: kernel BUG at memory.c:461! Jun 11 15:26:50 EMB kernel: invalid operand: 0000 .
i think we are supposed to remove the old mappings with zap_page_range()..but since we are compiling as a module this function is inaccessible (dont know why)
please help, TIA john
___________________________________________________ Get www. mycompany .com and 5 matching email ids. Just Rs. 1499/ year. Click here http://www.rediffmailpro.com
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/