Which signal occurs due to a page protection violation?

Sam Lawrance boris at brooknet.com.au
Tue Jan 31 01:06:41 PST 2006


ElectricFence is failing during its self test on i386 7-current:

Testing Electric Fence.
After the last test, it should print that the test has PASSED.
EF_PROTECT_BELOW= && EF_PROTECT_FREE= && EF_ALIGNMENT= && ./eftest
Segmentation fault (core dumped)
*** Error code 139

The program intentionally overruns and underruns buffers in order to  
test the functionality of ElectricFence.
I think it's failing because:
1) the new jemalloc is actually catching the problem and throwing  
SIGSEGV
2) ElectricFence is being compiled with - 
DPAGE_PROTECTION_VIOLATED_SIGNAL=SIGBUS on that platform.

Which signal should it be using?  Does it vary across platforms and  
architectures?  I ask this because one of the patches contains

.if ${MACHINE_ARCH} == "i386" || (${MACHINE_ARCH} == "amd64" && $ 
{OSVERSION} < 700003) || ${MACHINE_ARCH} == "ia64" || ${MACHINE_ARCH}  
== "sparc64"
CFLAGS+= -DPAGE_PROTECTION_VIOLATED_SIGNAL=SIGSEGV
.endif



More information about the freebsd-hackers mailing list