Re: Patch [1/1] minor bugfix in 2.6.26/arch/x86/mm/pat.c - causedproblems in mmap() of /dev/mem character file

From: Arjan van de Ven
Date: Sat Jul 19 2008 - 18:07:16 EST

On Fri, 18 Jul 2008 07:34:17 +0530
"V.Radhakrishnan" <rk@xxxxxxxxxxxx> wrote:
> > But this duplication is ugly and confusing - we should have just a
> > single check function, defined once and unconditionally, and
> > utilized by both places (with the devmem check being optional).
> >
> > Venki, Arjan, agreed?
> In fact, I spent some time thinking that the bug was actually at the
> higher level API instead of in the arch specific layer, and I was
> amazed that in spite of the config level option being turned off, it
> was NOT being reflected in the code !!


it's great to see new people contribute to the kernel, however your
patch is not correct. In the PAT case, we really cannot allow /dev/mem
mmap access of kernel-used memory. It would create an incorrect cache
alias... which can have really bad effects, including tripple faulting
the cpu (which is an instant reboot) or data corruption, depending on
which model/vendor CPU you have.

What your patch does is to remove the code that prevents this situation
from happening... and that makes it not a very good idea.

Now, /dev/mem mmap access of address space that is not used by the
kernel is still allowed by the code (for example the PCI mmio region)...

Can you describe what you were trying to achieve by mmaping
of /dev/mem ? It sounds like you have a bug, since it's certainly
curious that you would want to deal with kernel memory this way.
(for example until recently, you wouldn't be able to do this at all)

Arjan van de Ven

If you want to reach me at my work email, use arjan@xxxxxxxxxxxxxxx
For development, discussion and tips for power savings,
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at