我正在编写一个内核函数 foo ,它以结构指针作为参数
void foo(struct struct1 *param)
{
if(param!=NULL)
{
if(param->param1!=NULL)
{
if(param->param1->bool_value)
Some code
}
}
some code
}
该函数在进程上下文中运行。我在上述函数的这一行发生了崩溃。if(param->param1->bool_value)
. 这次崩溃是一次崩溃,并且再也没有发生过。
BADVA 地址指向用户空间地址。这个地址是param1->bool_value的地址吗?如果是这样,内核模式代码是否可以在不使用 copy_from_user 的情况下访问该地址以进行读取?