[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0805192217430.15410@blonde.site>
Date: Mon, 19 May 2008 22:25:51 +0100 (BST)
From: Hugh Dickins <hugh@...itas.com>
To: Theodore Tso <tytso@....edu>
cc: Gabriel C <nix.or.die@...glemail.com>,
Keith Packard <keithp@...thp.com>,
"Pallipadi, Venkatesh" <venkatesh.pallipadi@...el.com>,
Eric Anholt <eric@...olt.net>, linux-kernel@...r.kernel.org,
Ingo Molnar <mingo@...e.hu>,
"Siddha, Suresh B" <suresh.b.siddha@...el.com>,
bugme-daemon@...zilla.kernel.org, airlied@...ux.ie,
"Barnes, Jesse" <jesse.barnes@...el.com>,
Jeremy Fitzhardinge <jeremy@...p.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
"Rafael J. Wysocki" <rjw@...k.pl>
Subject: Re: [Bug 10732] REGRESSION: 2.6.26-rc2-git4: X server failed start
onX61s laptop
On Sat, 17 May 2008, Theodore Tso wrote:
> On Sat, May 17, 2008 at 08:32:38PM +0200, Gabriel C wrote:
> > >
> > > Which repository is commit 1c12c4cf in?
> >
> > It is in linus-git tree , http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c12c4cf9411eb130b245fa8d0fbbaf989477c7b
>
> ...post 2.6.26-rc2-git3. For Linux kernels 2.6.26-rc2-git4 and
> newer, you need to revert this commit or the X Server shipped with
> Ubuntu Gutsy will die horribly when run on an X61s laptop with the
> Intel 965GM video chipset.
>
> So the question is what's the right fix to keep the kernel compatible
> with the X server, besides just reverting the commit entirely?
[PATCH] x86: fix mprotect's NX handling on PAE
2.6.26-rc3 with CONFIG_X86_PAE may leave the NX bit set when PROT_EXEC
is intending to clear it, causing irqbalance and others to segfault,
and X startup to fail.
This comes from an assumption in 1c12c4cf9411eb130b245fa8d0fbbaf989477c7b
mprotect: prevent alteration of the PAT bits, that PTE_MASK is what it's
supposed to be: whereas it's been wrong forever with PAE, staying 32-bit
where 64-bit is needed.
Jeremy Fitzhardinge already has patches to fix that in Ingo's tree;
but if they're not considered 2.6.26 material, or people want a quick
two-liner to get working, here's a shorter hack to fix up pte_modify.
I apologize to those we've broken, and to Venki Pallipadi: it was I who
persuaded him to change his working patch to make that false assumption.
Signed-off-by: Hugh Dickins <hugh@...itas.com>
---
include/asm-x86/pgtable.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- 2.6.26-rc3/include/asm-x86/pgtable.h 2008-05-19 11:19:03.000000000 +0100
+++ linux/include/asm-x86/pgtable.h 2008-05-19 21:51:08.000000000 +0100
@@ -57,8 +57,8 @@
#define _KERNPG_TABLE (_PAGE_PRESENT | _PAGE_RW | _PAGE_ACCESSED | \
_PAGE_DIRTY)
-#define _PAGE_CHG_MASK (PTE_MASK | _PAGE_PCD | _PAGE_PWT | \
- _PAGE_ACCESSED | _PAGE_DIRTY)
+#define _PAGE_CHG_MASK (((pteval_t) PTE_MASK & ~_PAGE_NX) | \
+ _PAGE_PCD | _PAGE_PWT | _PAGE_ACCESSED | _PAGE_DIRTY)
#define _PAGE_CACHE_MASK (_PAGE_PCD | _PAGE_PWT)
#define _PAGE_CACHE_WB (0)
--
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