2 yechun jie YECHUN_JIE 于 2013.10.29 22:27 提问

请教linux内核模块指针的问题

我在一个内核模块中写了下面一段代码,编译没问题,执行时报错(oops),好像是指针的问题,只要不在while循环中给j赋值就没问题,不知何故,第一次做内核模块,不知道内核态指针是不是还有什么特殊用法,求教

i = *hash_number + 1;
j = 0;
while ((i % HASH_MAX_REGIONS) != hash_number) {
if (dmc->access_stats[i].region_number != region_number) {
if (dmc->access_stats[i].Te == 0 && flag == 0) {
flag = 1;
j = i;
}
i++;
} else {
j = i;
break;
}

}
if (i == *hash_number && flag < 0)
    return -1;
else
    *hash_number = j;
Csdn user default icon
上传中...
上传图片
插入图片