It seems like this is only really a problem if someone uses mode = 0777. But not every caller is going to do that. Are there really such a large group of bad programmers who are still using low-level C interfaces? And can't OpenBSD just audit the handful of programs that are using shared memory?
[note: if your reply is going to be some variant of "all programmers are shit"-- not interested, heard it before.]