Which signal occurs due to a page protection violation?



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


_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"



Relevant Pages