Correct. The kernel code & data is not swappable, thus paging requests within kernel code are not honored. What you code do is, lock the page and then call the same function. Thanks & regards, Suvidh Mathur -----Original Message----- From: Timur Tabi [mailto:timur.tabi@ammasso.com] Sent: Saturday, June 26, 2004 5:20 AM To: kernelnewbies@nl.linux.org Subject: "Unable to handle kernel paging request" - what does that mean? The following function is causing this error: unsigned long user_virt_to_phys(unsigned long address) { pgd_t *pgd = pgd_offset(current->mm, address); pmd_t *pmd = pmd_offset(pgd, address); #ifdef pte_offset_kernel pte_t *pte = pte_offset_kernel(pmd, address); #else pte_t *pte = pte_offset(pmd, address); #endif return pte_val(*pte) & PTE_MASK; } I'm assuming that the error message is displayed when I try to obtain the physical address for a page that isn't in memory (and therefore, has no physical address). Is that correct? -- Timur Tabi Staff Software Engineer timur.tabi@ammasso.com -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/