在x86 arch上CONFIG_FRAME_WARN的安全值是什么?

时间:2014-03-17 17:01:18

标签: linux-kernel x86 gcc-warning

我正在编译驱动程序模块并收到warning: the frame size of 1064 bytes is larger than 1024 bytes之类的警告 是的,这意味着在堆栈中为局部变量分配的空间略大。

但最大安全值是多少?

我不能依赖最多8192字节的http://elinux.org/Kernel_Small_Stacks。 没有重要来源。

谢谢。

2 个答案:

答案 0 :(得分:0)

没有具体的安全价值。

重要的是实际使用了多少堆栈,即所有活动函数的堆栈帧总和。

此警告不保证您将溢出堆栈空间;它只是表明这个函数更容易出现溢出(当与其他大框架函数一起使用时,或者与许多较小的函数一起使用时)。

答案 1 :(得分:0)

Linux内核为每个内核线程定义了堆栈大小8192个字节,因此最大安全值是整个调用路径中不会溢出8192个字节的值。