gpt4 book ai didi

c - 在系统调用期间,谁检查地址是否可写

转载 作者:太空宇宙 更新时间:2023-11-03 23:47:05 24 4
gpt4 key购买 nike

因此,考虑一个返回结构的系统调用(如 gettimeofday)。

现在,我进行以下调用

gettimeoftheday(&time, NULL)

现在,当系统调用被调用时,我知道内核会检查是否为系统调用传递了正确的参数。但在这种情况下,检查指针 time 是否可写是内核的工作吗?

最佳答案

“内核的工作”是什么意思?

考虑一段试图破坏内核的恶意代码,传递内核中某物的地址。如果内核没有适当的机制,它会破坏自己的状态。此外,该地址可能完全无效。

简而言之,当然内核必须检查它。在 Linux 中,他们使用 access_ok() 进行范围检查,并使用单独的 __put_user/__get_user(和其他)原语来实际访问内容 - 如果无法进行读/写,这些操作将失败。

关于c - 在系统调用期间,谁检查地址是否可写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30154692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com