免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: SCDXMOE
打印 上一主题 下一主题

[内核模块] 元芳:为什么在tcp_ipv4.c函数中用到了crypto_alloc_comp不打招呼开机直接卡住 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-12-14 10:58 |只看该作者

回复 8# whaaat


   

论坛徽章:
0
12 [报告]
发表于 2012-12-14 11:04 |只看该作者
whaaat您好:我按照您的建议
修改这个函数的代码,将GFP_KERNEL改为GFP_ATOMIC,重新编译内核。
还是用如下代码:测试
tcp_v4_rcv(struct sk_buff *skb)

......
struct crypto_comp *tfm;
tfm=crypto_alloc_comp("deflate",0,0);
crypto_free_comp(tfm);

但是还是在启动的时候奔溃了

说明不能改动原始的函数

您的第二个建议:
改用其他的压缩算法,如内核的lib\zlib_inflate lib\zlib_deflate (其实crypto_comp_decompress已经包含了zlib_inflate 只是封装了一下)

zlib_deflate (z_streamp strm, int flush);的参数是z_streamp 型的,我的只是struct sk_buff *skb中的数据部分 char 型的 不知道怎么做?

期待您的回复

再次谢谢
回复 8# whaaat


   

论坛徽章:
0
13 [报告]
发表于 2012-12-14 11:35 |只看该作者
kdump默认需要4G的内存,如果内存小了,配置会失败的。我在CentOS下,利用kdump的图形界面配置工具system-config-kdump(在终端中输入该命令,回车即可)配置成功了,你可以参考一下我的这篇博客:
http://blog.csdn.net/moonvs2010/article/details/8117515。 如果还是不行的话,私信给我。没有kdump,内核崩溃了很麻烦。回复 10# SCDXMOE


   

论坛徽章:
0
14 [报告]
发表于 2012-12-14 13:03 |只看该作者
感谢您的回复 不过我的是ubutun10。10下面的
我再试试不行私信您
回复 13# justlinux2010


   

论坛徽章:
0
15 [报告]
发表于 2012-12-17 18:07 |只看该作者
回复 12# SCDXMOE
google zlib deflate应该能得到很多答案吧,内核中的库跟应用层中是相仿的。


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP