c – mmap:不允许操作
发布时间:2020-12-13 19:03:38 所属栏目:Linux 来源:网络整理
导读:我试图在用户空间中使用mmap来读取mem_map开始的物理内存.它是一个包含所有物理页面的数组.这是运行3.0内核的i386机器. 代码是这样的: ....//define page size//#define PAGE_SIZE 0x1000 //4096 bytes#define PAGE_MASK (PAGE_SIZE - 1).... /* open /dev/
我试图在用户空间中使用mmap来读取’mem_map’开始的物理内存.它是一个包含所有物理页面的数组.这是运行3.0内核的i386机器. 代码是这样的:
我把它作为根运行.输出是:
可以肯定的是,我搜索了问题并将以下行添加到我的/etc/sysctl.conf文件中:
但这也不起作用. 任何人都知道为什么不允许这样的mem_map操作以及我如何绕过它? 谢谢. 最佳答案
听起来内核已经使用CONFIG_STRICT_DEVMEM进行编译.这是一项安全功能,可防止用户空间访问超过1MB(IIRC)的(可能是敏感的)物理内存.您可以使用sysctl dev.mem.restricted禁用此功能.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |