On Tue, 14 May 2024 at 17:57, Theo de Raadt <deraadt@xxxxxxxxxxx> wrote: > > Let's wait and see. You may not be aware, but the Open Group literally endorses the Linux model: "When mprotect() fails for reasons other than [EINVAL], the protections on some of the pages in the range [addr,addr+len) may have been changed" at least according to this: https://pubs.opengroup.org/onlinepubs/9699919799/functions/mprotect.html so I think your atomicity arguments have always been misleading. At least for mprotect, POSIX is very explicit about this not being atomic. I find very similar wording in mmap: "If mmap() fails for reasons other than [EBADF], [EINVAL], or [ENOTSUP], some of the mappings in the address range starting at addr and continuing for len bytes may have been unmapped" Maybe some atomicity rules have always been true for BSD, but they've never been true for Linux, and while I don't know how authoritative that opengroup thing is, it's what google found. > (Linus, don't be a jerk) I'm not the one who makes unsubstantiated statements and uses scare tactics to try to make said arguments sound more valid than they are. So keep your arguments real, please. Linus