Chinaunix
标题:
内核栈会溢出吗?
[打印本页]
作者:
xiaojsj
时间:
2013-10-11 17:50
标题:
内核栈会溢出吗?
譬如现在内核驱动中有如下一个函数:
#define MAX_NVRAMBUF_SIZE 4096 /* max nvram buf size */
static int
dhdsdio_download_config(struct dhd_bus *bus)
{
int bcmerror = -1;
uint len, len_val;
void * image = NULL;
char * memblock = NULL;
char *bufp,
pick[MAX_NVRAMBUF_SIZE];
char *pconf_path;
bool conf_file_exists;
... ...
}
即在函数中开辟一个很大的数组pick[MAX_NVRAMBUF_SIZE],这个会造成内核栈溢出吗?我印象中,内核栈的原始大小是8KB,如果栈空间不够用,内核会自动向下扩展栈的大小吗?
恳请各位大侠各抒己见啊!!!!
作者:
瀚海书香
时间:
2013-10-12 08:06
回复
1#
xiaojsj
即在函数中开辟一个很大的数组pick[MAX_NVRAMBUF_SIZE],这个会造成内核栈溢出吗?我印象中,内核栈的原始大小是8KB,如果栈空间不够用,内核会自动向下扩展栈的大小吗?
会溢出,覆盖栈空间之外的数据结构
作者:
humjb_1983
时间:
2013-10-12 08:39
印象中,内核栈大小为8k或4k(可配),超过应该会溢出的。
作者:
xs3c
时间:
2013-10-12 09:40
回复
1#
xiaojsj
肯定会,要用用大内存用Kmalloc申请。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2