I have a C implementation of NIST-800-90Ar1 CTR-DRBG random bits generator which is working fine Intel Macs, but when I test it on Apple Silicon Mac, it received the SIGKILL signal.
I've already worked out the solution, I'm just sharing information, and if it doesn't solve your problem, please do ask a new one.
The cause is that I'm doing pointer arithmetic on
uintptr_t
, which causes the pointer authentication to fail.For example, the following code fragment was present in my code:
Arithmetic on
uintptr_t
destroys authentication information on the pointer. It should've been:Pointer authentication is a security feature present with ARM processors, and this was introduced in WWDC 2020 talks.