Strangely this post managed to give me the exact opposite impression of what the poster intended.
Based on the description in this post, it seems to me that shm_open() has been a successful addition to the standard. It's basically a semantic annotation: "I intend to use this file descriptor to share memory between processes". The OpenBSD people looked at projects that use this API and discovered that they're overwhelmingly using it to share memory between processes owned by one user (e.g. WebKit), so they solidified that practice into a hard limit as part of their implementation.
Isn't this perfectly in the spirit of why we have all these Unix variants in the first place? Some of them will be at the bleeding edge of implementing new APIs, whereas others like OpenBSD take the cautious and security-minded approach. Thanks to the work of the OpenBSD crew and the (granted, apparently largely implicit) semantics of shm_open(), WebKit is now a bit safer to use in a multi-user scenario on OpenBSD than elsewhere. Maybe others will adopt this interpretation of shm_open() and everyone wins.
Based on the description in this post, it seems to me that shm_open() has been a successful addition to the standard. It's basically a semantic annotation: "I intend to use this file descriptor to share memory between processes". The OpenBSD people looked at projects that use this API and discovered that they're overwhelmingly using it to share memory between processes owned by one user (e.g. WebKit), so they solidified that practice into a hard limit as part of their implementation.
Isn't this perfectly in the spirit of why we have all these Unix variants in the first place? Some of them will be at the bleeding edge of implementing new APIs, whereas others like OpenBSD take the cautious and security-minded approach. Thanks to the work of the OpenBSD crew and the (granted, apparently largely implicit) semantics of shm_open(), WebKit is now a bit safer to use in a multi-user scenario on OpenBSD than elsewhere. Maybe others will adopt this interpretation of shm_open() and everyone wins.