[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: X11 crashing on 2.4.28



[Sorry for breaking the thread and possible line-wrapping]

Ron Murray wrote:

>    Richard, does this look likely? Are there any other places that
> could stuff up the exec bit?
>
>  .....Ron

Actually, there is one place. The following change has been introduced
when going from 2.4.27 to 2.4.28:

diff -aur linux-2.4.27/arch/sparc64/kernel/itlb_base.S
linux-2.4.28/arch/sparc64/kernel/itlb_base.S
--- linux-2.4.27/arch/sparc64/kernel/itlb_base.S        2003-06-13
10:51:32.000000000 -0400
+++ linux-2.4.28/arch/sparc64/kernel/itlb_base.S        2004-11-17
06:54:21.000000000 -0500
@@ -41,6 +41,9 @@
        CREATE_VPTE_OFFSET2(%g4, %g6)                   ! Create VPTE offset
        ldxa            [%g3 + %g6] ASI_P, %g5          ! Load VPTE
 1:     brgez,pn        %g5, 3f                         ! Not valid, branch out
+        sethi          %hi(_PAGE_EXEC), %g4            ! Delay-slot
+       andcc           %g5, %g4, %g0                   ! Executable?
+       be,pn           %xcc, 3f                        ! Nope, branch.
         nop                                            ! Delay-slot
 2:     stxa            %g5, [%g0] ASI_ITLB_DATA_IN     ! Load PTE into TLB
        retry                                           ! Trap return
@@ -73,9 +76,6 @@
        nop
        nop
        nop
-       nop
-       nop
-       nop
        CREATE_VPTE_NOP

 #undef CREATE_VPTE_OFFSET1

Since it is sparc64-specific and has to do with EXEC checking, it might
be worth trying to rebuild the 2.4.28 kernel with this change reverted
and see if it helps.

Best regards,

Jurij Smakov
http://www.wooyd.org/pgpkey/



Reply to: