Re: [git pull] changes for tip, and a nasty x86 page table bug

Huang Ying
2009-02-20T05:03:12Z

[-- Attachment #1: Type: text/plain, Size: 1628 bytes --]

Hi, Linus,

On Fri, 2009-02-20 at 12:17 +0800, Linus Torvalds wrote:
>
> On Thu, 19 Feb 2009, Steven Rostedt wrote:
> >
> > Is this something worthy of 29? I could whip up a patch against your
> > latest tree.
>
> I think it's a real issue, but I do have to admit that I don't see why it
> would only trigegr for you. Is it just because the trace stuff ends up
> setting pages to RW, and you have to have had a lot of read-only stuff to
> get a whole read-only PMD to begin with?
>
> So there's two things that make me nervous:
>
> - I do think the KERNPG_TABLE thing is the right thing, and I _think_
> that code is just confused, and we should just do KERNPG_TABLE rather
> than play with confused bits one by one (PRESENT, RW, NX) to the point
> of just making for more confusion.
>
> But I'd like some of the people involved with that code confirm that.
> Either a "Yeah, we were just confused" or "No, there's this really
> subtle thing going on, liek this: ..."
>
> - The fact that apparently you're the first one to hit this. I realize
> that you do odd things with ftrace. Was it the fact that you made the
> "set_memory_ro()" area larger, and then more dynamically mark it back
> to read-write that you hit it? Haven't we done things like that before?

In fact, I am the first one to hit a similar bug. I do some odd thing
with EFI to change the page tables to be executable. Unfortunately I
fixed that bug in a confused way.

Yes. I think KERNPG_TABLE fixes all these types of bugs in a more clear
way.

Best Regards,
Huang Ying

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]