Bug 140934

Summary: Problem with udev on current stable snapshot
Product: [openSUSE] SUSE Linux 10.1 Reporter: Joachim Gleissner <joachim.gleissner>
Component: BasesystemAssignee: Kay Sievers <kasievers>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Blocker    
Priority: P5 - None CC: eich, sndirsch
Version: Alpha 4   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Xorg start log

Description Joachim Gleissner 2005-12-23 14:52:44 UTC
It seems /dev needs to be mounted with exec flag on current stable snapshot. Otherwise X refuses to start with error "could not map SYS BIOS", vbetool also aborts with a similar error. Maybe other components are affected, too. Is this intended?
Comment 1 Stefan Dirsch 2005-12-23 15:32:52 UTC
Could you attach a complete X logfile? Thanks.
Comment 2 Joachim Gleissner 2005-12-23 15:41:20 UTC
Created attachment 61751 [details]
Xorg start log
Comment 3 Kay Sievers 2005-12-23 16:06:11 UTC
I can reproduce it on one of my boxes, no idea, why the other one is working.
It fails with:
  open("/dev/mem", ORDWR|O_LARGEFILE) = 9
  mmap2(0xf0000, 65536, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_FIXED, 9, 0xf0) = -1 EPERM (Operation not permitted)

Does X depend on PROT_EXEC?
Comment 4 Stefan Dirsch 2005-12-23 16:13:26 UTC
xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c:
[...]
                if ((sysMem = mmap((void *)(SYS_BIOS), BIOS_SIZE,
                                   PROT_READ | PROT_EXEC,
                                   MAP_SHARED | MAP_FIXED, fd, SYS_BIOS))
                    == MAP_FAILED) {
                    xf86DrvMsg(screen, X_ERROR, "Cannot map SYS BIOS\n");
[...]
I think this is intended ...
Comment 5 Stefan Dirsch 2005-12-23 16:16:02 UTC
Egbert?
Comment 6 Stefan Dirsch 2005-12-23 16:23:56 UTC
*** Bug 140939 has been marked as a duplicate of this bug. ***
Comment 7 Kay Sievers 2005-12-23 19:47:14 UTC
Ok, this is likely to cause too much trouble, even if we get X working. I've removed "noexec" from mkinitrd and submittd it to autobuild now.
Comment 8 Kay Sievers 2005-12-26 04:44:38 UTC
Fixed.
Comment 9 Stefan Dirsch 2006-01-01 21:44:46 UTC
*** Bug 141139 has been marked as a duplicate of this bug. ***
Comment 10 Stefan Dirsch 2006-01-09 23:16:35 UTC
*** Bug 141381 has been marked as a duplicate of this bug. ***
Comment 11 Egbert Eich 2006-01-26 15:34:15 UTC
I don't recall exactly any more if the exec flag is really required. It's too long ago. The vm86 code does execute BIOS code in place - other than the emulator. Removing PROT_EXEC and testing on a primary card with VBE DDC detection should reveal if it works without. I doubt it though.