So my question is: why did this ever work? My theory is that the process' page tables are still in the MMU when the driver is called, so the virtual address space is technically still valid, even if the kernel won't admit it. Am I right? If so, are the page tables not flushed because it would affect performance? Is there a way I can manual flush the page tables in my driver in order to find all the places in my code where user virtual addresses are used?
-- Timur Tabi Staff Software Engineer timur.tabi@xxxxxxxxxxx
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/