From: Andi Kleen <andi@firstfloor.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [git pull] x86 updates
Date: Thu, 14 Feb 2008 11:25:27 +0100 [thread overview]
Message-ID: <p73ir0r25t4.fsf@bingen.suse.de> (raw)
In-Reply-To: <20080213155725.GA19523@elte.hu> (Ingo Molnar's message of "Wed\, 13 Feb 2008 16\:57\:25 +0100")
Ingo Molnar <mingo@elte.hu> writes:
>
> Thomas Gleixner (1):
> x86: EFI: fix use of unitialized variable and the cache logic
Your honor, I would like to register a differing opinion...
I submitted that fix originally in a different form, but it
got finally stripped down to this. However in my opinion
the full version of the patch is still needed, otherwise
EFI still does the mapping wrong.
Even with this patch EFI still passes in ioremap (on 32bit) and fixmap (on 64bit)
addresses to cpa which it will mishandle.
On 64bit cpa will still change cache attributes on random low pages and
cause illegal caching attribute aliases on both 32bit and 64bit.
See http://marc.info/?l=linux-kernel&m=120290071713708&w=2 for details.
git-x86#mm made some attempts to also fix this in pageattr.c which
fixed some parts of the problem on 64bit (static_protections should be
ok now), but not all (alias handling still not good)
See http://marc.info/?l=linux-kernel&m=120290203315953&w=2
for details
In particular the direct mapping cache alias handling for
ioremap/fixmap (and EFI uses that) is not correct on both 32bit and
64bit.
Also all ioremaps have this same problem so all uncached mappings are
broken when the direct mapping happens to overlap them (common on
64bit with enough RAM). Right now when you do a uncached ioremap the
direct mapping will not be changed, which causes illegal
conflicting caching aliasing.
My original patch above avoided that by not calling set_memory_uc()
for the EFI case, but I did not fix the general ioremap case for
other users yet (will send a patch later for this unless someone
beats me to it)
Note even with ioremap generally fixed the original patch
http://marc.info/?l=linux-kernel&m=120284838904660&w=2
in its full form will be still needed to pass in the correct attribute
to ioremap in the first place.
I would recommend to either mark EFI CONFIG_BROKEN for now
or apply the complete patch I posted earlier
http://marc.info/?l=linux-kernel&m=120284838904660&w=2
or fix it in some other way in pageattr.c as described in
http://marc.info/?l=linux-kernel&m=120290203315953&w=2
(although that might be intrusive and I don't think such a change
would be a good idea at this stage of the release)
And a separate patch fixing ioremap_nocache() will be needed too.
-Andi
next prev parent reply other threads:[~2008-02-14 10:25 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-13 15:57 [git pull] x86 updates Ingo Molnar
2008-02-13 16:19 ` Balbir Singh
2008-02-14 16:25 ` Ingo Molnar
2008-02-14 17:42 ` Avi Kivity
2008-02-15 3:30 ` Balbir Singh
2008-02-15 8:04 ` Ingo Molnar
2008-02-14 10:25 ` Andi Kleen [this message]
2008-02-14 15:19 ` Ingo Molnar
2008-02-14 17:10 ` Andi Kleen
-- strict thread matches above, loose matches on Subject: below --
2009-06-20 16:49 [GIT PULL] " Ingo Molnar
2009-01-07 18:15 [git pull] " Ingo Molnar
2008-07-15 21:01 [GIT " Thomas Gleixner
2008-07-15 21:20 ` Linus Torvalds
2008-07-15 21:25 ` Ingo Molnar
2008-07-15 21:43 ` Thomas Gleixner
2008-07-15 22:00 ` Linus Torvalds
2008-07-15 22:05 ` Ingo Molnar
2008-07-15 22:14 ` Thomas Gleixner
2008-07-15 23:29 ` Linus Torvalds
2008-04-29 16:00 [git " Ingo Molnar
2008-04-26 14:21 Ingo Molnar
2008-02-29 18:08 Ingo Molnar
2008-02-25 16:27 Ingo Molnar
2008-02-19 23:13 [GIT " Thomas Gleixner
2008-02-19 23:56 ` Randy Dunlap
2008-02-20 0:06 ` Thomas Gleixner
2008-02-20 8:32 ` Ingo Molnar
2008-02-18 20:21 [GIT Pull] " Thomas Gleixner
2008-02-09 23:24 [git pull] " Thomas Gleixner
2008-02-10 1:25 ` Randy Dunlap
2008-02-10 8:03 ` Linus Torvalds
2008-02-10 9:14 ` Thomas Gleixner
2008-02-10 23:09 ` Ingo Molnar
2008-02-06 14:47 Ingo Molnar
2008-02-04 16:12 Ingo Molnar
2008-02-05 18:47 ` Linus Torvalds
2008-02-05 19:22 ` Sam Ravnborg
2008-02-05 21:05 ` Ingo Molnar
2008-02-05 21:09 ` H. Peter Anvin
2008-02-05 21:18 ` Sam Ravnborg
2008-02-05 21:23 ` H. Peter Anvin
2008-02-05 21:32 ` Linus Torvalds
2008-02-05 21:42 ` H. Peter Anvin
2008-02-05 21:17 ` Sam Ravnborg
2008-02-05 21:54 ` Ingo Molnar
2008-02-05 22:03 ` H. Peter Anvin
2008-02-05 20:12 ` H. Peter Anvin
2008-02-05 21:36 ` Ingo Molnar
2008-02-01 17:00 Ingo Molnar
2008-01-14 19:02 Ingo Molnar
2008-01-15 16:05 ` Ingo Molnar
2007-11-10 3:52 [GIT " Thomas Gleixner
2007-10-23 21:02 [Git " Thomas Gleixner
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=p73ir0r25t4.fsf@bingen.suse.de \
--to=andi@firstfloor.org \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/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