* Linus Torvalds torvalds@linux-foundation.org [240202 15:37]:
On Fri, 2 Feb 2024 at 11:32, Theo de Raadt deraadt@openbsd.org wrote:
Unix system calls must be atomic.
They either return an error, and that is a promise they made no changes.
That's actually not true, and never has been.
...
In the specific case of mseal(), I suspect there are very few reasons ever *not* to be atomic, so in this particular context atomicity is likely always something that should be guaranteed. But I just wanted to point out that it's most definitely not a black-and-white issue in the general case.
There will be a larger performance cost to checking up front without allowing the partial completion. I don't expect these to be high, but it's something to keep in mind if we are okay with the flexibility and less atomic operation.
Thanks, Liam