Message-ID: <87sm6o4i2g.wl%<email address hidden>>
Date: Thu, 02 Dec 2004 14:27:03 -0500
From: Ron Murray <email address hidden>
To: <email address hidden>
Cc: Richard Mortimer <email address hidden>, "Jurzitza, Dieter" <email address hidden>,
<email address hidden>, <email address hidden>
Subject: Re: X11 crashing on 2.4.28
At Thu, 02 Dec 2004 13:45:59 -0500,
Ron Murray wrote:
> > Anyone fancy compiling a new xserver binary?
> >
>
> I'll set one going before I leave work this afternoon. Should have
> completed by tomorrow morning.
>
We have a minor problem. Richard's patch seems to refer to a
pristine xfree86-4.3.0 source. When I came to check the patch location
on a build tree that had had the Debian patches applied, I found it to
be quite different. Specifically, the line Richard wanted to change
was now
# if defined(linux) || defined(__OpenBSD__)
instead of
# if defined(linux) && defined(__ia64__) || defined(__OpenBSD__)
Clearly, there's a Debian patch involved here. I found it at
debian/patches/071_nonexecutable_malloced_mem.diff
and it goes:
> $Id: 071_nonexecutable_malloced_mem.diff 1044 2004-02-16 17:40:33Z branden $
>
> This patch fixes the assumption that data returned by malloc() is
> executable. In upstream revision 1.43, the assumption was fixed for
> ia64 only. We understand it is Linus' position that programs that
> assume data to be executable are broken, so we enable this code for
> all Linux platforms.
>
> Original patch (before upstream applied its own version) was by David
> Mosberger.
> diff -urN xc/programs/Xserver/hw/xfree86/loader/elfloader.c
> xc.new/programs/Xserver/hw/xfree86/loader/elfloader.c
> --- xc/programs/Xserver/hw/xfree86/loader/elfloader.c 2004-02-07
> 17:33:29.000000000 -0500
> +++ xc.new/programs/Xserver/hw/xfree86/loader/elfloader.c
> 2004-02-07 17:29:03.000000000 -0500
> @@ -957,7 +957,7 @@
> ErrorF( "ELFCreateGOT() Unable to reallocate memory!!!!\n"
> );
> return FALSE;
> }
> -# if defined(linux) && defined(__ia64__) || defined(__OpenBSD__)
> +# if defined(linux) || defined(__OpenBSD__)
> {
> unsigned long page_size = getpagesize();
> unsigned long round;
... which would indicate that Richard's suggestion is already in
the current Debian package. I'd made a build log when I built the
package here, and I have
Message-ID: <87sm6o4i2g. wl%<email address hidden>>
Date: Thu, 02 Dec 2004 14:27:03 -0500
From: Ron Murray <email address hidden>
To: <email address hidden>
Cc: Richard Mortimer <email address hidden>, "Jurzitza, Dieter" <email address hidden>,
<email address hidden>, <email address hidden>
Subject: Re: X11 crashing on 2.4.28
At Thu, 02 Dec 2004 13:45:59 -0500,
Ron Murray wrote:
> > Anyone fancy compiling a new xserver binary?
> >
>
> I'll set one going before I leave work this afternoon. Should have
> completed by tomorrow morning.
>
We have a minor problem. Richard's patch seems to refer to a
pristine xfree86-4.3.0 source. When I came to check the patch location
on a build tree that had had the Debian patches applied, I found it to
be quite different. Specifically, the line Richard wanted to change
was now
# if defined(linux) || defined( __OpenBSD_ _)
instead of
# if defined(linux) && defined(__ia64__) || defined( __OpenBSD_ _)
Clearly, there's a Debian patch involved here. I found it at patches/ 071_nonexecutab le_malloced_ mem.diff
debian/
and it goes:
> $Id: 071_nonexecutab le_malloced_ mem.diff 1044 2004-02-16 17:40:33Z branden $ Xserver/ hw/xfree86/ loader/ elfloader. c programs/ Xserver/ hw/xfree86/ loader/ elfloader. c Xserver/ hw/xfree86/ loader/ elfloader. c 2004-02-07 programs/ Xserver/ hw/xfree86/ loader/ elfloader. c __OpenBSD_ _) __OpenBSD_ _)
>
> This patch fixes the assumption that data returned by malloc() is
> executable. In upstream revision 1.43, the assumption was fixed for
> ia64 only. We understand it is Linus' position that programs that
> assume data to be executable are broken, so we enable this code for
> all Linux platforms.
>
> Original patch (before upstream applied its own version) was by David
> Mosberger.
> diff -urN xc/programs/
> xc.new/
> --- xc/programs/
> 17:33:29.000000000 -0500
> +++ xc.new/
> 2004-02-07 17:29:03.000000000 -0500
> @@ -957,7 +957,7 @@
> ErrorF( "ELFCreateGOT() Unable to reallocate memory!!!!\n"
> );
> return FALSE;
> }
> -# if defined(linux) && defined(__ia64__) || defined(
> +# if defined(linux) || defined(
> {
> unsigned long page_size = getpagesize();
> unsigned long round;
... which would indicate that Richard's suggestion is already in
the current Debian package. I'd made a build log when I built the
package here, and I have
> Applying patch debian/ patches/ 071_nonexecutab le_malloced_ mem.diff ... successful.
in it, so I'm sure it's in the build.
Richard, does this look likely? Are there any other places that
could stuff up the exec bit?
.....Ron
-- www.rjmx. net/~ron
Ron Murray (<email address hidden>)
http://
GPG Public Key Fingerprint: F2C1 FC47 5EF7 0317 133C D66B 8ADA A3C4 D86C 74DE