|
|
|
|
|
by kentonv
2224 days ago
|
|
If the program is just using mmap/munmap for memory allocation, then I agree with you. But some programs do crazier things. Imagine a program that implements mmap of a file entirely in userspace. For example, say I have a file that's stored on a distributed filesystem that dosen't have kernel drivers. So I catch SIGSEGV in userspace and populate pages on-demand by fetching them from the remote server. Later on, the page hasn't been used in a while, so I munmap() it to reclaim memory. I expect that any further uses after this point (especially writes, which maybe I need to sync back?) will raise a new SIGSEGV which I can handle. I think something like that, unfortunately, could be broken by changing all munmaps to be lazy... |
|