免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 5199 | 回复: 21
打印 上一主题 下一主题

[内核模块] 修改了linux内核的tcp.c tcpsendmsg()函数 出现奔溃 求大侠帮助!!满屏幕的跑00000 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-30 10:36 |只看该作者 |倒序浏览
大家好 我修改了linux内核的tcp.c
满屏幕的跑00000000
奔溃信息如下:(日志)
Nov 30 09:39:20 ubuntu kernel: [  476.356044] gvfsd-metadata[1382]: segfault at 8 ip 0804cb7a sp bf86f8c0 error 4 in gvfsd-metadata[8048000+c000]
Nov 30 09:47:22 ubuntu kernel: imklog 4.2.0, log source = /proc/kmsg started.
Nov 30 09:47:22 ubuntu rsyslogd: [origin software="rsyslogd" swVersion="4.2.0" x-pid="674" x-info="http://www.rsyslog.com"] (re)start
Nov 30 09:47:22 ubuntu rsyslogd: rsyslogd's groupid changed to 103
Nov 30 09:47:22 ubuntu rsyslogd: rsyslogd's userid changed to 101
Nov 30 09:47:22 ubuntu rsyslogd-2039: Could no open output file '/dev/xconsole' [try http://www.rsyslog.com/e/2039 ]
Nov 30 09:47:22 ubuntu kernel: [    0.000000] Initializing cgroup subsys cpuset
Nov 30 09:47:22 ubuntu kernel: [    0.000000] Initializing cgroup subsys cpu
Nov 30 09:47:22 ubuntu kernel: [    0.000000] Linux version 3.1.4 (root@ubuntu) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) ) #205 SMP Fri Nov 30 09:21:40 CST 2012
Nov 30 09:47:22 ubuntu kernel: [    0.000000] BIOS-provided physical RAM map:
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  BIOS-e820: 0000000000100000 - 000000007f5e0000 (usable)
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  BIOS-e820: 000000007f5e0000 - 000000007f5e3000 (ACPI NVS)
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  BIOS-e820: 000000007f5e3000 - 000000007f5f0000 (ACPI data)
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  BIOS-e820: 000000007f5f0000 - 000000007f600000 (reserved)
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
Nov 30 09:47:22 ubuntu kernel: [    0.000000] Notice: NX (Execute Disable) protection cannot be enabled: non-PAE kernel!
Nov 30 09:47:22 ubuntu kernel: [    0.000000] DMI 2.4 present.
Nov 30 09:47:22 ubuntu kernel: [    0.000000] DMI: Gigabyte Technology Co., Ltd. G31M-ES2C/G31M-ES2C, BIOS FF 10/12/2009
Nov 30 09:47:22 ubuntu kernel: [    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
Nov 30 09:47:22 ubuntu kernel: [    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
Nov 30 09:47:22 ubuntu kernel: [    0.000000] last_pfn = 0x7f5e0 max_arch_pfn = 0x100000
Nov 30 09:47:22 ubuntu kernel: [    0.000000] MTRR default type: uncachable
Nov 30 09:47:22 ubuntu kernel: [    0.000000] MTRR fixed ranges enabled:
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   00000-9FFFF write-back
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   A0000-BFFFF uncachable
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   C0000-CAFFF write-protect
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   CB000-EFFFF uncachable
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   F0000-FFFFF write-through
Nov 30 09:47:22 ubuntu kernel: [    0.000000] MTRR variable ranges enabled:
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   0 base 000000000 mask F80000000 write-back
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   1 base 07F800000 mask FFF800000 uncachable
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   2 base 07F700000 mask FFFF00000 uncachable
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   3 base 07F600000 mask FFFF00000 uncachable
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   4 disabled
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   5 disabled
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   6 disabled
Nov 30 09:47:22 ubuntu kernel: [    0.000000]   7 disabled
Nov 30 09:47:22 ubuntu kernel: [    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
Nov 30 09:47:22 ubuntu kernel: [    0.000000] found SMP MP-table at [c00f53c0] f53c0
Nov 30 09:47:22 ubuntu kernel: [    0.000000] initial memory mapped : 0 - 01000000
Nov 30 09:47:22 ubuntu kernel: [    0.000000] Base memory trampoline at [c009b000] 9b000 size 16384
Nov 30 09:47:22 ubuntu kernel: [    0.000000] init_memory_mapping: 0000000000000000-00000000377fe000
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  0000000000 - 0000400000 page 4k
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  0000400000 - 0037400000 page 2M
Nov 30 09:47:22 ubuntu kernel: [    0.000000]  0037400000 - 00377fe000 page 4k
Nov 30 09:47:22 ubuntu kernel: [    0.000000] kernel direct mapping tables up to 377fe000 @ ffb000-1000000
Nov 30 09:47:22 ubuntu kernel: [    0.000000] RAMDISK: 322ea000 - 37ff0000
Nov 30 09:47:22 ubuntu kernel: [    0.000000] Allocated new RAMDISK: 2c5e4000 - 322e9da4
Nov 30 09:47:22 ubuntu kernel: [    0.000000] Move RAMDISK from 00000000322ea000 - 0000000037fefda3 to 2c5e4000 - 322e9da3
Nov 30 09:47:22 ubuntu kernel: [    0.000000] ACPI: RSDP 000f6db0 00014 (v00 GBT   )
Nov 30 09:47:22 ubuntu kernel: [    0.000000] ACPI: RSDT 7f5e3040 0003C (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)

论坛徽章:
0
2 [报告]
发表于 2012-11-30 20:47 |只看该作者
?你发的是正常讯息吧?不像内核崩溃的信息啊......

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
3 [报告]
发表于 2012-11-30 23:52 |只看该作者
回复 1# SCDXMOE
你做了什么更改。系统起来之后,肯定会有不少地方调用它的。一旦该出问题,导致你系统都工作不正常。


   

论坛徽章:
0
4 [报告]
发表于 2012-12-01 09:28 |只看该作者
我在linux内核中的tcp发送数据点函数tcpsendmsg()函数 发送数据时 在每一个数据包中末尾加了一个标志

在每一个数据包中末尾加了一个标志 是指在内核已经构建的数据包(SKB)后添加了多余的字节,
在err = skb_copy_to_page_nocache(sk, from, skb, page, off, copy);之前

论坛徽章:
0
5 [报告]
发表于 2012-12-01 09:30 |只看该作者
但是确实是满屏幕的错误信息 ,我看不懂 日志里面的 回复 2# onlyxuyang


   

论坛徽章:
0
6 [报告]
发表于 2012-12-01 09:33 |只看该作者
我刚开始的时候没有问题  我用改过的网络协议栈和另外一台主机(当然是做了相应的修改的) 两主机之间通信可以的  我先是发送了一个87k的文件 接收方没有问题 收到的是完整的文件  然后又发送一个23M的文件就出现了这样的情况,回复 3# Godbach


   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2012-12-01 20:45 |只看该作者
回复 6# SCDXMOE

你这么改的需求是什么呢?

   

论坛徽章:
0
8 [报告]
发表于 2012-12-01 20:58 |只看该作者
主要是将数据做加密或者其他的处理之后发送 然后在末尾加一个flag   Godbach前辈你分析我的问题出在哪里,刚有试试传输文件 直接给黑屏奔溃了  期待您的回复 回复 7# Godbach


   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
9 [报告]
发表于 2012-12-01 22:16 |只看该作者
回复 8# SCDXMOE
哦,那解密程序也是实现的吗


   

论坛徽章:
0
10 [报告]
发表于 2012-12-02 08:51 |只看该作者
是的 我现在还没有做加密和解密 现在是要在后面加一个flag来让两主机识别 能正常通信,毕竟我是将数据改了 其他的要做相应的修改 ,这部能通信就是传输大一点的文件就奔溃了  ??? 是什么原因呢?回复 9# Godbach


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP