内核target中的checkentry和destroy函数使用时需..
时间:2007-04-19 来源:目的
有这样一段代码,本意是想在加载一条iptables rule的时候申请一块内存并且设定一个timer使得每隔一段时间去执行一个函数:
static int |
static void destroy( void *targinfo, unsigned int targinfosize ) |
这两段代码从逻辑上和编写上看似没有问题。可是在系统启动自动加载该规则会出现kernel panic。调试后知道checkentry会被调用N次,这个N和什么有关还没有搞清楚。然后后面申请的内存和第一次申请的内存地址不相同。而且checkentry 被调用的时候destroy也会被调用。这两个是成对出现的。
具体的原因恐怕要看内核中的代码实现了。