gpt4 book ai didi

linux - 内核定时器函数错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:51:29 27 4
gpt4 key购买 nike

我尝试修改 tizen 内核。我正在测试每一行。所以,我发现 mod_timer 是内核错误有什么问题???

代码是

  void timer_add(void){
struct timer_list timer;
setup_timer(&timer, kill_callback, 0);
mod_timer(&timer, jiffies + msecs_to_jiffies(3000));
}

void kill_callback(unsigned long data)
{
sys_kill(current->pid, SIGKILL);
return ;
}

[19.029281]无法处理虚拟地址处的内核 NULL 指针取消引用

最佳答案

您的函数 timer_add 声明了局部变量 timer,该变量在函数返回时超出范围。但是您将它作为参数传递给函数 setup_timer,它用于设置回调函数。

当稍后执行回调函数时,它引用您的变量 timer,该变量已不存在。

您要么必须将变量计时器声明为静态变量,要么使用全局变量。

关于linux - 内核定时器函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30950279/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com