> I wonder though... wouldn't a safe first way of implementing these new syscalls be to make them actually synchronous?
No, because it visibly changes the semantics. Consider for instance IORING_OP_ACCEPT; if you make it synchronous, and nothing connects to your program, it would wait forever, instead of returning immediately and allowing the program to continue. The file-related opcodes are safer (when used with actual files, instead of network sockets), but still would behave differently for instance with a hanging NFS mount.
https://www.freebsd.org/doc/handbook/linuxemu.html
I wonder though... wouldn't a safe first way of implementing these new syscalls be to make them actually synchronous?
That way you'd be able to run these Linux binaries but without any of the performance benefits.