I'd like to have a confirmation (or not) The function (macro) virt_to_page() only works for kernel virtual adress because there is a translation between kernel space and physical adress right? For virtual adress in user space, Linux uses the three levels of the page tables (I mean pgd gives a pointer to pmd which gives a pointer to pte and the offset gives a physical adress). Am I right with this view? Thank for your help -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/