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

Bug#277884: xserver-xfree86: X segfaults on AMD64 with noexec enabled



Package: xserver-xfree86
Version: 4.3.0.dfsg.1-8
Severity: normal

 background:  AMD64 NX support works in 32bit and 64bit mode.  It adds an
exec permission bit to PAE page tables, so PROT_READ is separate from
PROT_EXEC.  Since it only works with 3rd level page tables, not plain x86
ones, it only works with highmem64GB kernels (in which case it's on by
default).

see http://lists.debian.org/debian-amd64/2004/09/msg00393.html
http://kerneltrap.org/node/view/3240/9418

 Summary: noexec means memory pages have to be mapped with PROT_EXEC if you
want to run code in them.  Stack and heap are non-executable by default.
Apparently ELF executables can specify executability of things...

 The bug is that X segfaults on noexec kernels, but not when I boot with
noexec=off.  This happens with the radeon driver, and with the ati driver
(on a dual Opteron Tyan board with built-in mach64 video.)

 Please make the i386 xserver-xfree86 package work on NX systems.  (The
kernels that Debian ships aren't compiled with highmem64, so this will only
affect people who recompile their kernels, not everyone who installs Sarge
on an AMD64.  In that case this bug would be "important".)

-- Package-specific info:
...

XFree86 X server log files on system:
-rw-rw-r--  1 root root 3154 Oct 23 01:47 /var/log/XFree86.0.log

Contents of most recent XFree86 X server log file
/var/log/XFree86.0.log:

This is a pre-release version of XFree86, and is not supported in any
way.  Bugs may be reported to XFree86@XFree86.Org and patches submitted
to fixes@XFree86.Org.  Before reporting bugs in pre-release versions,
please check the latest version in the XFree86 CVS repository
(http://www.XFree86.Org/cvs).

XFree86 Version 4.3.0.1 (Debian 4.3.0.dfsg.1-8 20040928112350 fabbione@fabbione.net)
Release Date: 15 August 2003
X Protocol Version 11, Revision 0, Release 6.6
Build Operating System: Linux 2.4.26 i686 [ELF] 
Build Date: 28 September 2004
	Before reporting problems, check http://www.XFree86.Org/
	to make sure that you have the latest version.
Module Loader present
OS Kernel: Linux version 2.6.9-holly3232 (peter@holly.cordes.ca) (gcc version 3.4.2 (Debian 3.4.2-2)) #1 Sat Oct 23 00:36:35 ADT 2004 
Markers: (--) probed, (**) from config file, (==) default setting,
         (++) from command line, (!!) notice, (II) informational,
         (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/XFree86.0.log", Time: Sat Oct 23 01:47:31 2004
(==) Using config file: "/etc/X11/XF86Config-4"
(==) ServerLayout "Default Layout"
(**) |-->Screen "Default Screen" (0)
(**) |   |-->Monitor "mag"
(**) |   |-->Device "ati"
(**) |-->Input Device "Generic Keyboard"
(**) Option "XkbRules" "xfree86"
(**) XKB: rules: "xfree86"
(**) Option "XkbModel" "pc104"
(**) XKB: model: "pc104"
(**) Option "XkbLayout" "us"
(**) XKB: layout: "us"
(**) Option "XkbOptions" "ctrl:nocaps"
(**) XKB: options: "ctrl:nocaps"
(==) Keyboard: CustomKeycode disabled
(**) |-->Input Device "Configured Mouse"
(**) |-->Input Device "Serial Mouse"
(WW) The directory "/usr/lib/X11/fonts/cyrillic" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/lib/X11/fonts/CID" does not exist.
	Entry deleted from font path.
(**) FontPath set to "unix/:7100,/usr/lib/X11/fonts/misc,/usr/lib/X11/fonts/100dpi/:unscaled,/usr/lib/X11/fonts/75dpi/:unscaled,/usr/lib/X11/fonts/Type1,/usr/lib/X11/fonts/Speedo,/usr/lib/X11/fonts/100dpi,/usr/lib/X11/fonts/75dpi"
(==) RgbPath set to "/usr/X11R6/lib/X11/rgb"
(==) ModulePath set to "/usr/X11R6/lib/modules"
(**) Option "AllowMouseOpenFail" "true"
(--) using VT number 7

(WW) Open APM failed (/dev/apm_bios) (No such file or directory)
(II) Module ABI versions:
	XFree86 ANSI C Emulation: 0.2
	XFree86 Video Driver: 0.6
	XFree86 XInput driver : 0.4
	XFree86 Server Extension : 0.2
	XFree86 Font Renderer : 0.4
(II) Loader running on linux
(II) LoadModule: "bitmap"
(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a
(II) Module bitmap: vendor="The XFree86 Project"
	compiled for 4.3.0.1, module version = 1.0.0
	Module class: XFree86 Font Renderer
	ABI class: XFree86 Font Renderer, version 0.4

   *** If unresolved symbols were reported above, they might not
   *** be the reason for the server aborting.

Fatal server error:
Caught signal 11.  Server aborting


When reporting a problem related to a server crash, please send
the full server output, not just the last messages.
This can be found in the log file "/var/log/XFree86.0.log".
Please report problems to submit@bugs.debian.org.



-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.9-holly3232
Locale: LANG=C, LC_CTYPE=C

Versions of packages xserver-xfree86 depends on:
ii  debconf [debconf-2.0]     1.4.30.8       Debian configuration management sy
ii  libc6                     2.3.2.ds1-18   GNU C Library: Shared libraries an
ii  libgcc1                   1:3.4.2-2      GCC support library
ii  xserver-common            4.3.0.dfsg.1-8 files and utilities common to all 
ii  zlib1g                    1:1.2.2-1      compression library - runtime

-- debconf information:
* xserver-xfree86/config/device/identifier: G200
  xserver-xfree86/config/monitor/screen-size: 17 inches (430 mm)
  xserver-xfree86/config/device/use_fbdev:
* xserver-xfree86/config/monitor/selection-method: Medium
  xserver-xfree86/config/doublequote_in_string_error:
  shared/default-x-server: xserver-xfree86
* xserver-xfree86/config/inputdevice/mouse/emulate3buttons: false
* xserver-xfree86/config/device/bus_id:
* xserver-xfree86/config/inputdevice/keyboard/layout: us
  xserver-xfree86/config/monitor/horiz-sync: 30-57
* xserver-xfree86/config/monitor/identifier: mag
  shared/no_known_x-server:
* xserver-xfree86/autodetect_mouse: false
* xserver-xfree86/config/device/video_ram:
* xserver-xfree86/config/monitor/mode-list: 1024x768 @ 70Hz
* xserver-xfree86/config/monitor/lcd: false
  xserver-xfree86/config/inputdevice/keyboard/internal:
* xserver-xfree86/config/inputdevice/keyboard/rules: xfree86
  xserver-xfree86/multiple_possible_x-drivers:
* xserver-xfree86/config/inputdevice/keyboard/model: pc104
* xserver-xfree86/config/write_dri_section: true
* xserver-xfree86/config/device/driver: mga
  xserver-xfree86/config/monitor/vert-refresh: 43-72
* xserver-xfree86/config/display/default_depth: 24
* xserver-xfree86/config/inputdevice/mouse/zaxismapping: true
* xserver-xfree86/config/display/modes: 1024x768, 800x600, 640x480
  xserver-xfree86/config/device/bus_id_error:
* xserver-xfree86/config/modules: GLcore, bitmap, dbe, ddc, dri, extmod, freetype, glx, int10, record, speedo, type1, vbe
* xserver-xfree86/config/inputdevice/keyboard/options: ctrl:nocaps
  xserver-xfree86/config/nonnumeric_string_error:
  xserver-xfree86/config/inputdevice/mouse/protocol: ImPS/2
  shared/multiple_possible_x-servers:
  xserver-xfree86/config/null_string_error:
  xserver-xfree86/config/monitor/range_input_error:
  xserver-xfree86/autodetect_video_card: true
* xserver-xfree86/config/inputdevice/keyboard/variant:
* xserver-xfree86/config/inputdevice/mouse/port: /dev/input/mice
* xserver-xfree86/config/write_files_section: true
* xserver-xfree86/autodetect_monitor: true



Reply to: