首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Linux内核中对非用户空间内存执行内存范围检查?

如何在Linux内核中对非用户空间内存执行内存范围检查?
EN

Stack Overflow用户
提问于 2012-08-15 02:31:59
回答 1查看 961关注 0票数 0

我正在为另一个模块编写一个API作为linux内核模块。对于初始开发,我想对传递给我的API的物理内存指针进行一些内存范围检查。这样,我的模块可以帮助捕获模块中的错误,并且我的模块不会因为错误的指针而受到指责。

我知道有很多方法可以在内核中检查用户空间指针的有效内存。问题是我还没有找到一种预打包的方法来对内核可访问的物理内存进行范围检查。

检查正常的内核线性地址范围当然是可能的(0x00000000到0xbfffffff和0xc0000000到0xffffffff了解Linux内核第三版)。内核中有没有现成的函数或宏可以做到这一点,而且可能比我的建议更好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-15 21:30:00

如果它们真的是物理地址,你可以使用page_is_ram()

不过,您可能会获得内核虚拟地址,在这种情况下,您必须首先转换它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11958560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档