kernel general protection fault -
i backporting driver called gtp 4.9 linux kernel 3.18 version. fixed errors in source code of driver , compiled kernel successfully. using ubuntu server 14.04 test kernel driver. (there netlink library (libgtpnl) control driver. modprobe gtp , there no problem. use library control functions of driver, , there no problem. however, strangely, when enable forwarding: (echo 1 > /proc/sys/net/ipv4/ip_forward
) kernel somehow haults. unable many network commands (ifconfig, iproute, etc)
the dmesg shows:
[ 33.032315] gtp: gtp module loaded (pdp ctx size 88 bytes) [ 62.269996] general protection fault: 0000 [#1] smp [ 62.270028] modules linked in: gtp(e) udp_tunnel(e) pci_stub(e) vboxpci(oe) vboxnetadp(oe) vboxnetflt(oe) vboxdrv(oe) nfnetlink_queue(e) nfnetlink_log(e) nfnetlink(e) coretemp(e) crct10dif_pclmul(e) ppdev(e) crc32_pclmul(e) ghash_clmulni_intel(e) vmw_balloon(e) btusb(e) bluetooth(e) aesni_intel(e) aes_x86_64(e) lrw(e) gf128mul(e) glue_helper(e) ablk_helper(e) cryptd(e) microcode(e) serio_raw(e) snd_ens1371(e) snd_ac97_codec(e) ac97_bus(e) gameport(e) snd_rawmidi(e) snd_seq_device(e) snd_pcm(e) snd_timer(e) snd(e) soundcore(e) vmwgfx(e) ttm(e) drm_kms_helper(e) drm(e) shpchp(e) vmw_vmci(e) i2c_piix4(e) parport_pc(e) mac_hid(e) lp(e) parport(e) hid_generic(e) usbhid(e) hid(e) psmouse(e) ahci(e) libahci(e) e1000(e) mptspi(e) mptscsih(e) mptbase(e) floppy(e) vmw_pvscsi(e) vmxnet3(e) pata_acpi(e) [ 62.271080] cpu: 1 pid: 1323 comm: bash tainted: g oe 3.18.20-bondingv4 #7 [ 62.271121] hardware name: vmware, inc. vmware virtual platform/440bx desktop reference platform, bios 6.00 07/31/2013 [ 62.271293] task: ffff8800772c9920 ti: ffff880079390000 task.ti: ffff880079390000 [ 62.271329] rip: 0010:[<ffffffff81669a5d>] [<ffffffff81669a5d>] dev_disable_lro+0x2d/0x130 [ 62.271465] rsp: 0018:ffff880079393df8 eflags: 00010206 [ 62.271492] rax: 0000000000200000 rbx: 0002000000000000 rcx: 0000000000000000 [ 62.271595] rdx: ffffffff81ce6d98 rsi: 0000000000000000 rdi: ffff8800795ed000 [ 62.271630] rbp: ffff880079393e18 r08: 0000000000000000 r09: ffff88007e4361a0 [ 62.271664] r10: ffffffff8165266f r11: ffffea0001dd5480 r12: ffffffff81ce2e00 [ 62.271703] r13: ffffffff81ce2ec8 r14: ffff880079393f50 r15: ffff8800795ed000 [ 62.271798] fs: 00007fcfa02e8740(0000) gs:ffff88007e420000(0000) knlgs:0000000000000000 [ 62.271838] cs: 0010 ds: 0000 es: 0000 cr0: 0000000080050033 [ 62.271866] cr2: 00007ffe943a5ac8 cr3: 00000000782e6000 cr4: 00000000001407e0 [ 62.271964] stack: [ 62.271978] ffffffff81ce2e00 0000000000000001 ffffffff81ce2e00 ffffffff81ce2ec8 [ 62.272078] ffff880079393e68 ffffffff816da5a2 0000000000000000 0000000000000002 [ 62.272774] ffffffff81ce8b40 0000000000000001 ffffffffffffffea ffffffff81ce8b40 [ 62.273379] call trace: [ 62.274042] [<ffffffff816da5a2>] devinet_sysctl_forward+0x1c2/0x1f0 [ 62.274940] [<ffffffff8124bf23>] proc_sys_call_handler+0xb3/0xc0 [ 62.275504] [<ffffffff8124bf44>] proc_sys_write+0x14/0x20 [ 62.276157] [<ffffffff811db457>] vfs_write+0xb7/0x1f0 [ 62.276795] [<ffffffff811dbed6>] sys_write+0x46/0xb0 [ 62.277394] [<ffffffff81786914>] ? int_check_syscall_exit_work+0x34/0x3d [ 62.278080] [<ffffffff8178668d>] system_call_fastpath+0x16/0x1b [ 62.278753] code: 44 00 00 55 48 89 e5 41 55 41 54 53 48 89 fb 48 83 ec 08 8b 87 0c 02 00 00 a8 01 75 39 a9 00 00 20 00 74 07 48 8b 9b f0 08 00 00 <48> 81 a3 e0 00 00 00 ff 7f ff ff 48 89 df e8 80 ff ff ff f6 83 [ 62.282203] rip [<ffffffff81669a5d>] dev_disable_lro+0x2d/0x130 [ 62.282925] rsp <ffff880079393df8> [ 62.283664] ---[ end trace f2a66d8a2b1df752 ]--- [ 62.289214] init: tty2 main process ended, respawning
there answers related kernel taint driver seems have no license. has, dont why kernel didnt realize it. couldn't find how driver uses dev_disable_lro. couldnt move through. identify problem appreciated. thanks
Comments
Post a Comment