It's also not possible to return NULL in practice despite the standard allowing it. That's why it makes sense to return a pointer to a PROT_NONE memory region. It does need to be unique to avoid breaking compatibility though. It can even be problematic for it not to be aligned.