Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Zan Lynx <zlynx@...>
Cc: Ryan Hope <rmh3093@...>, LKML <linux-kernel@...>, Nick Piggin <nickpiggin@...>, Andrew Morton <akpm@...>
Date: Friday, July 4, 2008 - 4:29 pm

On Fri, 4 Jul 2008, Zan Lynx wrote:

Your attachment tells us it's actually 2.6.26-rc8-mm1, less of a worry.


Useful info, thank you; even more useful was the Code line in your attachment


which is enough to identify the oops as in copy_one_pte's get_page(page).
Here's a patch I think we need, which I'm hoping will fix both your
crashes - please let us know - thanks a lot.

Stop mprotect's pte_modify from wiping out the x86 pte_special bit, which
caused oops thereafter when vm_normal_page thought X's abnormal was normal.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
---
Fix to 2.6.26-rc8-mm1 x86-implement-pte_special.patch
Perhaps something similar needed for powerpc?  Nick will know.

 include/asm-x86/pgtable.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- 2.6.26-rc8-mm1/include/asm-x86/pgtable.h	2008-07-03 11:34:55.000000000 +0100
+++ linux/include/asm-x86/pgtable.h	2008-07-04 20:58:36.000000000 +0100
@@ -57,7 +57,7 @@
 
 /* Set of bits not changed in pte_modify */
 #define _PAGE_CHG_MASK	(PTE_MASK | _PAGE_PCD | _PAGE_PWT |		\
-			 _PAGE_ACCESSED | _PAGE_DIRTY)
+			 _PAGE_SPECIAL | _PAGE_ACCESSED | _PAGE_DIRTY)
 
 #define _PAGE_CACHE_MASK	(_PAGE_PCD | _PAGE_PWT)
 #define _PAGE_CACHE_WB		(0)
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock, Hugh Dickins, (Fri Jul 4, 4:29 pm)
Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock, Martin Schwidefsky, (Mon Jul 7, 7:08 am)