access_ok()函数介绍
Posted 正在起飞的蜗牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了access_ok()函数介绍相关的知识,希望对你有一定的参考价值。
access_ok()函数
//函数原型
int access_ok(int type, const void __user *addr, unsigned long size);
(1)返回值:布尔值,1表示成功,0表示失败;
(2)type:检查用户空间地址的权限;VERIFY_READ或者VERIFY_WRITE;
<1>VERIFY_READ:驱动是否可以读取用户空间的指定地址;
<2>VERIFY_WRITE:驱动是否可以读取用户空间的指定地址;
<3>VERIFY_WRITE:驱动在指定用户空间地址既要读取也要写入,也是填这个;
(3)addr:用户空间地址;
(4)size:要操作的字节数;例如驱动要从指定用户空间地址读取一个int型整数,则size就是sizeof(int);
使用示例
在put_user()和get_user()函数中就有用到,详情参见博客: 《put_user()函数和get_usr()函数介绍》;


以上是关于access_ok()函数介绍的主要内容,如果未能解决你的问题,请参考以下文章
为啥 uaccess.h 中的 access_ok 宏的实现不使用它的所有参数?
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情