Linux内核中的内存保护

Linux内核中的内存保护,第1张

概述当共享库映射到内存时, Linux内核将为此内存区域分配虚拟内存区域并分别标记其权限.但我们知道x86 arch中的页表条目中没有可执行位.如果在程序中有一个类似“call * edx”的调用指令来调用共享库中的函数,那么Linux内核如何知道目标地址是否可执行?如果权限在vma列表中不兼容,是否会导致一般性保护错误? 它不能. 在没有与读取权限不同的执行页面权限的体系结构(/ *** 作模式)上,由于M 当共享库映射到内存时,Linux内核将为此内存区域分配虚拟内存区域并分别标记其权限.但我们知道x86 arch中的页表条目中没有可执行位.如果在程序中有一个类似“call * edx”的调用指令来调用共享库中的函数,那么linux内核如何知道目标地址是否可执行?如果权限在vma列表中不兼容,是否会导致一般性保护错误?解决方法 它不能.

在没有与读取权限不同的执行页面权限的体系结构(/ *** 作模式)上,由于MMU检测到故障,内核将无法发现所谓的非法地址执行.

总结

以上是内存溢出为你收集整理的Linux内核中的内存保护全部内容,希望文章能够帮你解决Linux内核中的内存保护所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/1017842.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存