5.4 系统调用_系统调用的实现

来源:互联网 发布:大众网络报手游推荐 编辑:程序博客网 时间:2024/06/07 23:21

参数验证

    在接收一个用户空间的指针之前,内核必须保证:

  • 指针指向的内存区域属于用户空间。进程决不能哄骗内核去读内核空间的数据。
  • 指针指向的内存区域在进程的地址空间里。进程决不能哄骗内核去读其他进程的数据。
  • 如果是读,该内存应被标记为可读。如果是写,该内存应被标记为可写。进程决不能绕过内存访问限制。
  •  

    注意,copy_to_user()和copy_from_user()都有可能引起阻塞。当包含用户数据的页被换出到硬盘上而不是在物理内存上的时候,这种情况就会发生。此时,进程就会休眠,直到缺页处理程序将该页从硬盘重新换回物理内存。

原创粉丝点击