现象:安装内核模块之后,功能正常,但隔一段时间(时间不定)后,系统崩溃

 

为了便于内核模块调试使用了自编内核,因此在gdb中收到了中收到下图的段错误:

记一次内核模块导致系统问题

 

猜想:

1)难道是因为自编内核导致的?

2)根据中断的位置,难道是因为分配内存引起的?

验证:

1)对比试验了安装内核模块和不安装内核模块,在不安装内核模块的情况下始终末出现此问题,排除

2)检查代码中分配内存发现问题

记一次内核模块导致系统问题

在对数组分配内存时错误的使用sizeof计算了指针变量的长度8,在实际使用了指针时40,填充指针时,相当于内存越界,那么结果将导致内存释放失败。

 

相关文章: