由于内核空间与用户空间不能直接互访,所以需要借助函数调用来完成
1.unsigned long copy_from_user(void *to,const void __user *from,unsigned long count);
此函数将用户空间内容复制到内核空间,复制成功返回0否则返回不能被复制的字节数
2.unsigned long copy_to_user(void __user *to,const void *from,unsigned long count);
此函数将内核空间内容复制到用户空间,复制成功返回0否则返回不能被复制的字节数
3.get_user(x, ptr)
此宏复制简单类型到内核空间,
例:int val=0;
get_user(val, (int *)arg);
4. put_user(x, ptr)
此宏复制简单类型到用户空间