4 ms·
How would you want memory-mapped files to work, if permission changes affected open files?
by dataflow 2y ago
How would you want memory-mapped files to work, if permission changes affected open files?
- quotemstr 2y agoYou could synchronously invalidate the PTEs corresponding to the mapper pages on chmod and let the soft fault handler re-evaluate pages when next accessed. That said, Linux gets this right, and Tanenbaum gets it wrong. Preserving access rights requested on open makes the system easier to reason about.
- deleted 2y ago[deleted]
- dataflow 2y agoYou could but it would induce corruption in programs. Programs expect I/O to fail much more often than they expect memory accesses to fail.
- quotemstr 2y agoPrograms using mmap have to be prepared for SIGBUS on mapped region access anyway --- consider the surprise removal (yanking out USB stick) case. That few programs, especially native code ones, bother to make themselves robust against this failure mode of mmap doesn't make it any less part of the mmap contract between the kernel and userspace.
- dataflow 2y agoContracts are one thing, reality is something else though.