内核模块读取文件返回-14错误
大虾们,小弟遇到一个痛心疾首的问题,请赐教~在内核中静态编译,调用vfs_read读取文件内容(buf为内核空间) 成功,核心代码如下:
mm_segment_t old_fs;
set_fs(get_ds());
vfs_read(filp,buf,size,pos);
set_fs(old_fs);
小弟对上述代码封装成了 read_file函数。
read_file在模块中,现出现了两种情况(此模块通过 lsm 方式挂载到内核)
1、同模块内,读取文件成功;
2、其他模块调用read_file一直返回-14 (bad address)
请大虾赐教~~~
jiay_os@sari.ac.cn
本帖最后由 jeick2008 于 2015-06-19 11:00 编辑
问题已解决,内核函数栈空间过大(局部变量占24k左右),导致程序跑飞。。。。。。。。。。直接泪崩了。。。 回复 2# jeick2008
强祝楼主端午节快乐
24k这个也是醉了....
好像通常512就比较到了.
能找到问题, 很厉害.
回复 2# jeick2008
页:
[1]