[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <463B551E.8030701@zytor.com>
Date: Fri, 04 May 2007 08:45:34 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Jeremy Fitzhardinge <jeremy@...p.org>
CC: "Eric W. Biederman" <ebiederm@...ssion.com>,
Rusty Russell <rusty@...tcorp.com.au>, Andi Kleen <ak@...e.de>,
Chris Wright <chrisw@...s-sol.org>,
Zachary Amsden <zach@...are.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
lkml - Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH 3/3] boot bzImages under paravirt
Jeremy Fitzhardinge wrote:
>
> So if we reload using a constant selector, then that will break under
> Xen. But if we do a:
>
> mov %cs, %eax
> mov %eax, %ds
> // etc
>
> sequence then it should be fine. This will work even for loading %ss,
> since the %cs CPL will equal the RPL needed for %ss.
In 32-bit mode? Surely you're joking, Mr. Feynman!
In protected mode, you *must* have different descriptor values for the
code segment as opposed to the data segments, at least if you ever want
to write anything to the data segments!
What's worse, reloading segments here might be highly unsafe, if the
memory previously occupied by the GDT has been overwritten. Keep in
mind the GDT is touched on a segment *load*, not on a segment *access*;
in areas such as booting that can be a huge difference.
-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists