ARM,嵌入式Linux,内核栈溢出,如何定位?
目前内核栈大小是8KB,之前发现过有的内核模块申请超大的局部变量,如char aaa,导致内核栈溢出。现在怀疑还有栈溢出的情况,但是不知道要如何定位,求定位办法,编译时和运行时的都可以。 "Strong" stack protection for GCC
http://lwn.net/Articles/584225/ 也可以自己打点追踪一下sp的位置 回复 2# Tinnal
好像toolchain不支持
使用-fstack-protector可以编译通过
但是使用-fstack-protector-all就会报错
undefined reference to __stack_chk_fail
undefined reference to __stack_chk_guard
gcc版本是4.6.4,所以不支持-fstack-protector-strong
gcc -v的输出中有--disable-libssp 回复 3# humjb_1983
请教下,这个要怎么追踪,对底层的东西不是很熟。有没有相关链接,搜了下,没搜到?谢谢~ bfdhczw 发表于 2014-12-03 14:47 static/image/common/back.gif
回复 3# humjb_1983
具体我也没操作过,task_struct(或mm)中好像可以获取到sp的值,可以试试。。
页:
[1]