I run a Gentoo (hardened/amd64) and after some modifications to my system
(updates, new kernel, new softwares) I decided to reboot it. After the
reboot, X.org did not start, neither did Amarok.
After some investigations, I found that the X server could run with the nv
driver but not with the nvidia driver, and Amarok crashed within a function
A strace gave me :
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)
close(3) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
With google, I found :
> Now that we have noexec permissions on pages (for some architectures),
> make the mapping of vnode backed pages with PROT_EXEC only be allowed
> on filesystems that were not mounted with noexec. Otherwise,
> mmap/uvm_map/mprotect will return EPERM for the mapping operation.
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.
email@example.com mailing list