请教 用户空间 内核空间 传数据 取地址
假定传到驱动的参数是个结构体指针,可不可以在驱动中对这个指向用户空间的指针的结构体成员取地址?取的地址肯定也是指向用户空间的。如
typedef struct {
int in;
int out;
} Data;
可不可以在驱动中这样写:
int *pUserIn = &((Data *) arg)->in; // 可以取指向用户空间指针的成员的地址吗???
int *pUserOut = &((Data *) arg)->out;
以后就可以用copy_to_user, copy_from_user处理pUserIn和pOurOut了? 这个当然是可以的... 取变量的地址无内核态与用户态并不无关系...
但是这段程序必须在传递这个参数的进程的进程上下文中执行... 可以的 可以的。
页:
[1]