News for hackers. Stuff that matters.
Re:Go 1.16 will make system calls through Libc on OpenBSD by prepperdev on Tuesday February 02, 2021 @03:45AM (#25998637)
vDSO is a good way to mitigate issues like these. It's also a better stable ABI than libc, and easier to maintain than pure kernel ABI (like Linux does), because nobody forbids the kernel to inject different vDSOs to different binaries, if a need arises.

vDSO is also a language independent construct, so there's no special treatment for any favorite language, be it C (OpenBSD), C++ (Windows) or Oberon OS (Oberon).

vDSO: https://en.wikipedia.org/wiki/VDSO

Re:Go 1.16 will make system calls through Libc on OpenBSD by remexre on Tuesday February 02, 2021 @10:12AM (#26001822)
vDSO functions are still allowed to use arbitrary amounts of stack though, which means Go might still have problems with them without having to allocate much larger stacks than it normally would.
Re:Go 1.16 will make system calls through Libc on OpenBSD by masklinn on Tuesday February 02, 2021 @04:06PM (#26006647)
In fact that is an issue Go hit in the past: https://marcan.st/2017/12/debugging-an-evil-go-runtime-bug/
Re:Go 1.16 will make system calls through Libc on OpenBSD by prepperdev on Tuesday February 02, 2021 @12:20PM (#26003721)
That would be up to a specific OS to decide which guarantees on stack size limit would it like to provide. But I agree that it's a valid concern, and not all possible vDSO implementations are reasonable.