On 14 Jan 2006 at 12:40, Nicolas MASSE wrote:
> open("/dev/zero", O_RDWR) = 3
> mmap(NULL, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|0x40, 3, 0) = -1
> EPERM (Operation not permitted)
> mmap(NULL, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 3, 0) = -1
> EPERM
> (Operation not permitted)
[snipped]
> So, I watched my /etc/fstab and found :
> udev /dev tmpfs nosuid,noexec,size=16M 0 0
>
> After I removed the noexec flag, all worked perfectly.
>
> I hope this will help somebody.
thanks for the investigation but the cure is worse than the disease ;-).
there's a reason why /dev is mounted noexec, and the correct solution
is to tell the nvidia folks that mapping /dev/zero to obtain anonymous
memory is old-school and completely unnecessary, mmap() has supported
MAP_ANONYMOUS for a long time now. also, if they don't need PROT_EXEC
then they shouldn't ask for it (that would also fix it for /dev/zero).
--
[email protected] mailing list