Re: [PATCH 00 of 10] x86: unify asm/pgtable.h

From: Jeremy Fitzhardinge
Date: Tue Jan 08 2008 - 20:09:22 EST


Ingo Molnar wrote:
* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

In other words, prot and ref_prot can never be equal, so this path is always taken, and the other branch which tests pte_huge() is never run.

Andi? Jan? Is this code just buggy, or is there something else going on here?

this code is plain buggy but fixing it triggered driver bugs in the past so we've been procrastinating it forever ...

What kind of driver bugs? Do drivers manage to get into the other branch of the if()? If not, can't we just remove it and avoid this present problem?

Of course, there are a couple of other places which use naked __PAGE_KERNEL_* constants, most significantly in head_64.S's initial pagetable setup. Does that rely _PAGE_GLOBAL not being set? Also early_io_remap().

J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/