Regarding high mem

Mulyadi Santosa mulyadi.santosa at gmail.com
Tue Oct 16 14:00:38 EDT 2012


Hi....

On Tue, Oct 16, 2012 at 7:17 PM, Kshemendra KP <kshemendra at suphalaam.com> 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



More information about the Kernelnewbies mailing list