Hi, When we allocate some pages from the high memory and try to map them into kernel virtual address space using kmap(), the kmap returns a virtual address in the range 3GB-4GB. Is this right? So my query is what happens to the "original" mapping for the address returned kmap()? And when we call the kunmap(), is the original mapping restored? For eg: ===== The virtual address 0xc0008400 originally maps to physical address 0x00008400. Now if kmap() maps a "high memory" address into the virtual address 0xc0008400, so the kernel now cannot access the original physical address 0x00008400. How does kmap() know that the kernel is not using this virtual address? Thanks, Rajat - To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs