get_user,put_user与copy_from_user,copy_to_user

来源:互联网 发布:智能网络摄像机哪个好 编辑:程序博客网 时间:2024/05/23 01:05

首先,这四个函数都有相同的作用:传递内核与用户空间的数据

它们的区别是:

1、put_user与copy_to_user都是从内核空间到用户空间拷贝数据;get_user与copy_from_user都是从用户空间到内核空间拷贝数据。

2、put_user与get_user只能拷贝简单类型的数据,比如char型、int型等;copy_from_user与copy_to_user可以拷贝多个数据。

比如

put_user(x,ptr),是把内核空间中x的值拷贝到用户空间中指针ptr指向的地址中。

copy_from_user(*to,*from,n)是把用户空间中from开始的n个数据拷贝到内核空间中to开始的地址上。


0 0
原创粉丝点击