Jump to content

TFuto

Members
  • Content Count

    2
  • Joined

  • Last visited

  1. Thanks guys for the responses. I did not get any detailed information from SELinux where the offending call was made. However, I found it in the QT source in kernel/sc_cor_qt.cpp. Note the PROT_EXEC flag: void sc_cor_qt::stack_protect( bool enable ) { ... // Enable the red zone at the end of the stack so that references within // it will cause an interrupt. if( enable ) { ret = mprotect( redzone, pagesize - 1, PROT_NONE ); } // Revert the red zone to normal memory usage. Try to make it read - write - // execute. If that does not work then settle for read - write else { ret = mprotect( redzone, pagesize - 1, PROT_READ|PROT_WRITE|PROT_EXEC); if ( ret != 0 ) ret = mprotect( redzone, pagesize - 1, PROT_READ | PROT_WRITE ); } sc_assert( ret == 0 ); } I have no clue why this PROT_EXEC is needed at all. Also, the SELinux denial is random because it seems to be memory layout dependent at the time of the call. (It is a pity that the QT source does not include a config section and supporting files for a standalone x86_64 compile and testing.) I will try Philipp's workaround, and will try to reproduce the error. Thanks again, Tibor
  2. As the title says. On CentOS 7.5, x86_64, SystemC 2.3.2, --enable-debug, --disable-optimization, I get an execheap alert from SELinux on sysc/2.1/forkjoin/.libs/lt-test during make check. Also, several tests failed. This does not happen on the non-debug, optimization-enabled make check. execheap is a bad thing. I re-run the entire build and the alert did not show up, and all tests passed, so this should be some transient error. Please have a look where you potentially make heap executable.
×