Messages in this thread | | | Date | Thu, 20 Nov 2008 18:05:51 +0100 | From | Takashi Iwai <> | Subject | Re: vm86 segfaults with NX bit |
| |
At Thu, 20 Nov 2008 18:01:08 +0100, I wrote: > > At Thu, 20 Nov 2008 08:58:44 -0800, > Arjan van de Ven wrote: > > > > On Thu, 20 Nov 2008 16:39:06 +0100 > > Takashi Iwai <tiwai@suse.de> wrote: > > > > > Hi, > > > > > > X guys reported that VESA driver segfaults in vm86 mode with a kernel > > > with CONFIG_X86_PAE, and it turned to be the NX bit. See Novell > > > bugzilla #443440: > > > https://bugzilla.novell.com/show_bug.cgi?id=443440 > > > > > > I can confirm that the latest 2.6.28-rc still causes the same problem, > > > and it disappears when booted with noexec=off option. > > > > > > Also, when NX bit is reset for the first 1MB (or smaller) in > > > do_sys_vm86(), it also works as expected. But I have little clue > > > where to restore the bit again. > > > > > > Any good suggestions / solutions? > > > > > > > did the code that mapped this memory setup use PROT_EXEC ? > > A good question... > Luc, Egbert, how does VESA driver handle it?
Just looking through the vesa directory of xorg-server code, PROT_EXEC is passed for all mappings, at least.
Please correct me if I'm looking at a wrong place...
thanks,
Takashi
| |