jeick2008 发表于 2015-06-18 16:26

内核模块读取文件返回-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-18 18:47

本帖最后由 jeick2008 于 2015-06-19 11:00 编辑

问题已解决,内核函数栈空间过大(局部变量占24k左右),导致程序跑飞。。。。。。。。。。直接泪崩了。。。

ckf513728912 发表于 2015-06-19 16:25

回复 2# jeick2008


    强祝楼主端午节快乐

firocu 发表于 2015-06-22 12:21



24k这个也是醉了....

好像通常512就比较到了.

能找到问题, 很厉害.

回复 2# jeick2008


   
页: [1]
查看完整版本: 内核模块读取文件返回-14错误