Error: cannot restore segment prot after reloc: Permission denied
Posted by Sven Koester, Last modified by Andre Kuehnemund on 09 August 2011 18:09

In case you run a Linux host and get the following error message in the logfile when starting PresSTORE:

Error: modload: /usr/local/aw/bin/libarchdev.so:
     couldn't load file "/usr/local/aw/bin/libarchdev.so":
     /usr/local/aw/bin/libarchdev.so: cannot restore segment prot after reloc:
     Permission denied
Fatal: modload: failed to load module '/usr/local/aw/bin/libarchdev.so'


This problem is most probably caused by the security extension SeLinux. SeLinux is active in newer Linux distributions with 2.6. kernels. SeLinux changes some system default behaviour, including the shared library loading.

This can be checked by disabling SeLinux: just add the line

 SELINUX=disabled

to the file

 /etc/sysconfig/selinux

and restart the host.

In case the shared libary can be loaded this way, but the SeLinux shall be kept active, it is required to adopt the security context for the shared library loading by using the chcon program.

One customer reported the following command worked for him:

chcon -t textrel_shlib_t nsxinetdt.so /usr/local/aw/bin/*

 

In case the above doesn't work, you may want to try the following. Please be aware that disabling a security feature like this is generally not a good idea. Use at your own risk:

http://eitwebguru.com/fix-cannot-restore-segment-prot-after-reloc-permission-denied/


(1731 vote(s))
Helpful
Not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
CAPTCHA Verification 
 
Please enter the text you see in the image into the textbox below (we use this to prevent automated submissions).