From: Arjan van de Ven <arjan@infradead.org>
To: "V.Radhakrishnan" <rk@atr-labs.com>
Cc: Ingo Molnar <mingo@elte.hu>,
Linus Torvalds <torvalds@linux-foundation.org>,
Linux Kernel Mailing List <Linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Suresh Siddha <suresh.b.siddha@intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Venki Pallipadi <venkatesh.pallipadi@intel.com>
Subject: Re: Patch [1/1] minor bugfix in 2.6.26/arch/x86/mm/pat.c - caused problems in mmap() of /dev/mem character file
Date: Sun, 20 Jul 2008 08:56:50 -0700 [thread overview]
Message-ID: <20080720085650.3b6c2f6f@infradead.org> (raw)
In-Reply-To: <1216569046.2268.14.camel@atlas>
On Sun, 20 Jul 2008 21:20:46 +0530
"V.Radhakrishnan" <rk@atr-labs.com> wrote:
>
> It so happened that all my 17 students had working code with 2.6.25
> and I, the instructor, had the kernel 2.6.26 crash in front of them !
>
> So I started tracing the call and found the 'bug' and 'fixed it'.
to get the old behavior, just disable PAT..
>
> I agree with you 100% that my patch does not solve the problem, but
> is a quick fix approach to the next release. The PAT related access
> issue is valid. However, I humbly submit that memory access is a
> policy issue and perhaps should not be tinkered with thru code.
it's not policy, it's correctness. We don't allow root to open a file
on a cdrom for write and then write to it.. even though denying root
would equally be policy, right? (it's not)
>
> If you provide the root, access to /dev/mem, I don't think it should
> be a problem, since in any case, all others are denied access.
this assertion is not correct; the device driver, the pagecache etc etc
will still use the page for whatever they were using it for.
> Also,
> theoretically, if you access RAM for Read Only, why should there be a
> triple fault ?
yes.
If you access it as cachable from /dev/mem, but the actual owner of the
memory was using it uncached, that can tripple fault the cpu (again
depending on model etc). If you access it uncachable from /dev/mem, but
the owner was using it cached... likewise. (and on some systems, the CPU
is fine but the chipset/memory controller are not)
On x86 you're not supposed to mix cached and uncached. And PAT enforces
this for all cases where there's an owner.. but for /dev/mem there's no
such thing.
--
If you want to reach me at my work email, use arjan@linux.intel.com
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
next prev parent reply other threads:[~2008-07-20 15:57 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-17 17:25 Patch [1/1] minor bugfix in 2.6.26/arch/x86/mm/pat.c - caused problems in mmap() of /dev/mem character file V.Radhakrishnan
2008-07-17 17:27 ` Linus Torvalds
2008-07-17 22:39 ` Ingo Molnar
2008-07-18 2:04 ` V.Radhakrishnan
2008-07-19 22:05 ` Arjan van de Ven
2008-07-20 15:50 ` V.Radhakrishnan
2008-07-20 15:56 ` Arjan van de Ven [this message]
2008-07-19 22:47 ` Arjan van de Ven
2008-07-20 6:37 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080720085650.3b6c2f6f@infradead.org \
--to=arjan@infradead.org \
--cc=Linux-kernel@vger.kernel.org \
--cc=hpa@zytor.com \
--cc=mingo@elte.hu \
--cc=rk@atr-labs.com \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=venkatesh.pallipadi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox