TCSs may be located at logical address zero. Defining Tcs to be NonNull leads to bugs and even soundness issues that may be exposed to attackers. For instance, the internal abi::thread::current() function in the Rust standard library does not check for zero pointers and unconditionally returns a NonNull. If the TCS address is null, this leads to immediate undefined behaviour.
TCSs may be located at logical address zero. Defining
Tcsto beNonNullleads to bugs and even soundness issues that may be exposed to attackers. For instance, the internalabi::thread::current()function in the Rust standard library does not check for zero pointers and unconditionally returns aNonNull. If the TCS address is null, this leads to immediate undefined behaviour.