更换:
volatile char *c_ptr_1 = mapped_ptr - 4096; //1 page below
用
volatile char *c_ptr_1 = mapped_ptr;
因为:
返回地址比在进程的虚拟地址空间中实际创建的内存区域低一页。 触摸映射下方的“防护”页面中的地址将导致映射按页面增长。
请注意,我测试了该解决方案,并且可以在内核4.15.0-45-generic上按预期工作。
欢迎分享,转载请注明来源:内存溢出
更换:
volatile char *c_ptr_1 = mapped_ptr - 4096; //1 page below
用
volatile char *c_ptr_1 = mapped_ptr;
因为:
返回地址比在进程的虚拟地址空间中实际创建的内存区域低一页。 触摸映射下方的“防护”页面中的地址将导致映射按页面增长。
请注意,我测试了该解决方案,并且可以在内核4.15.0-45-generic上按预期工作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)