【发布时间】:2020-09-02 06:38:51
【问题描述】:
我试图了解 mmap 与共享内存相关的工作原理。 MAP_SHARED 标志是否禁用写时复制?因为如果是这样,任何恶意进程都可能更改共享库。 谢谢。
【问题讨论】:
标签: security shared-memory mmap virtual-memory
我试图了解 mmap 与共享内存相关的工作原理。 MAP_SHARED 标志是否禁用写时复制?因为如果是这样,任何恶意进程都可能更改共享库。 谢谢。
【问题讨论】:
标签: security shared-memory mmap virtual-memory
是的,当使用 MAP_SHARED 标志时,写入时不应有副本——如果您写入映射位置,则对映射的所有更改将对使用该映射的其他进程可见,最终后备文件将也要更新。话虽如此,我相信共享库通常由带有 MAP_PRIVATE 的动态加载器进行 mmap 映射(使用写入页面上的副本进行更新),如 another answer here 中所述。
【讨论】: