根据内核发生oops的log及每次发生crash的位置都不一样,断定是内存越界导致内存被破坏,进而导致重启。因此,开启内核slub debug功能进行定位,经过一晚上的压力测试,得到如下log:


通过反汇编及代码分析,发现是gether_connect及gether_disconnect俩个函数重复释放同一块内存导致。
修复后跑压力测试,发现另外一个问题,分析如下


博客指出根据内核oops的log和crash位置不同,判断是内存越界破坏内存导致重启。开启内核slub debug功能定位,经压力测试,通过反汇编和代码分析,发现是两个函数重复释放同一块内存所致。修复后又出现新问题。
根据内核发生oops的log及每次发生crash的位置都不一样,断定是内存越界导致内存被破坏,进而导致重启。因此,开启内核slub debug功能进行定位,经过一晚上的压力测试,得到如下log:


通过反汇编及代码分析,发现是gether_connect及gether_disconnect俩个函数重复释放同一块内存导致。
修复后跑压力测试,发现另外一个问题,分析如下


312
588

被折叠的 条评论
为什么被折叠?