SuperSavage/IXC 64 hassle making DRI and SELinux work together

jfrieben at freesurf.fr jfrieben at freesurf.fr
Thu Jul 28 11:50:46 UTC 2005


I am experimenting with DRI on my IBM Thinkpad T23 running FC4. For this
purpose, I rebuilt M. Harris' testing X.org 6.8.99.14 package with activated
"savage" DRI support. After starting the graphical environment, X reports
"(II) SAVAGE(0): Direct rendering enabled" which is rather satisfactory :)
In the beginning, "SELinux" used to be enabled by default. However, this
lead to segmentation faults when calling applications which depend on
OpenGL, e.g. in the case of "glxinfo". The corresponding "dmesg" entry read:

"Unable to handle kernel paging request at virtual address e0c10000
printing eip:
e0a2e458 *pde = 1d11c067
Oops: 0002 [#1]
Modules linked in: nvram parport_pc lp parport autofs4 rfcomm l2cap
bluetooth sunrpc pcmcia ipt_REJECT ipt_state ip_conntrack iptable_filter
ip_tables ibm_acpi(U) kqemu(U) savage(U) drm(U) md5 ipv6 video button
battery ac yenta_socket rsrc_nonstatic pcmcia_core uhci_hcd shpchp hw_random
i2c_i801 i2c_core snd_intel8x0 snd_ac97_codec snd_seq_dummy snd_seq_oss
snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm
snd_timer snd soundcore snd_page_alloc e100
mii floppy dm_snapshot dm_zero dm_mirror ext3 jbd dm_mod
CPU:    0
EIP:    0060:[<e0a2e458>]    Tainted: P      VLI
EFLAGS: 00010282   (2.6.12-1.1398_FC4)
EIP is at savage_bci_emit_event+0x7e/0xe4 [savage]
eax: e0c10000   ebx: c0030000   ecx: d61a6000   edx: 00000002
esi: dacb7e00   edi: 00000135   ebp: 00000135   esp: ce70fef4
ds: 007b   es: 007b   ss: 0068
Process glxinfo (pid: 3338, threadinfo=ce70f000 task=d0614aa0)
Stack: badc0ded ce70ff20 cf8740e0 dacb7e00 ce6dfa20 e0a30274 ce70ff58
c01f7485       ce70ff58 00100100 00200200 00000003 00000000 00000003 e0a301bc
       e0a36638       00000042 e0a1ec0f bfb111a4 00000001 d5406000 d0614aa0
d0614aa0
       ce556fc0Call Trace:
 [<e0a30274>] savage_bci_event_emit+0xb8/0xe6 [savage]
 [<c01f7485>] selinux_file_ioctl+0xce/0x2d9
 [<e0a301bc>] savage_bci_event_emit+0x0/0xe6 [savage]
 [<e0a1ec0f>] drm_ioctl+0x98/0x1dc [drm]
 [<e0a1eb77>] drm_ioctl+0x0/0x1dc [drm]
 [<c01931b1>] do_ioctl+0x51/0x55
 [<c01932a7>] vfs_ioctl+0x50/0x1aa
 [<c019345e>] sys_ioctl+0x5d/0x6b
 [<c0103a51>] syscall_call+0x7/0xb
Code: e3 00 00 fe ff 81 eb 00 00 fe 3f 89 d8 0d 00 00 01 00 80 e2 02 0f 45
d8 ba 02 00 00 00 89 f0 ff 96 2c 01 00 00 8b 86 d0 00 00 00 <89> 18 83 c0 04
81 cf 00 00 00 98 89 38 89 e8 5b 5e 5f 5d c3 83"

There is a prior entry saying:

"mtrr: base(0xe4000000) is not aligned on a size(0x5000000) boundary"

The curious thing is that when "SELinux" is disabled at boot time through
option "selinux=disabled" in "", DRI works correctly. Sure, the 3D
performance is pretty poor, but anyway. Has anybody observed this behaviour,
too? Any clues how to make SELinux and DRI make play together peacefully?





More information about the devel mailing list