错误地址错误表示您提供的地址位置无效.对于你上面的情况,我猜它是因为你传递了一个副本info
而不是一个指向info
内存位置的指针.
查看文档,copy_to_user
定义为
copy_to_user(void __user * to, const void * from, unsigned long n);
因此,除非您的info
变量是指针,否则我会将您的代码更新为:
if(copy_to_user(&info, &kernel_info, sizeof(struct prinfo)) ) { //some stuff here i guess }