Hi.... On Tue, Oct 16, 2012 at 7:17 PM, Kshemendra KP <kshemendra@xxxxxxxxxxxxx> wrote: > > On x86 kernel is normally split into 3GB (user) : 1 GB (Kernel) spaces. > Kernel can only directly > manipulate 1 GB (around 889 MB) from the PAGE_OFFSET (0xC0000000). The > user space > memofy below PAGE_OFFSET kernel can't directly access, it considers this > memory as > high memory. Kernel needs to kmap()/kmap_atomic() map user page and > access that region. I think there is misunderstanding here. User space memory are mapped between 0 up to 3 GiB in x86 32 bit. Therefore it is within the reach of kernel. Of course, we must be within that process address space. Or in other word, those user space memory are directly reachable if we load the page global directory (PGD) used by the related process/task. If not, you need some ways to access the target's process address space. I couldn't recall the functions's name though -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies