xebd / accel-ppp

High performance PPTP/L2TP/PPPoE/IPoE server for Linux
GNU General Public License v2.0
296 stars 109 forks source link

Kernel oops after ifdown interface where accel-ppp is running #5

Closed paszczus closed 6 years ago

paszczus commented 7 years ago

[6105016.769260] BUG: unable to handle kernel NULL pointer dereference at 00000000000003d8 [6105016.770296] IP: [] pppoe_release+0x147/0x1c0 [pppoe] [6105016.771229] PGD 20bcf1067 PUD 213e89067 PMD 0 [6105016.772116] Oops: 0000 [#1] SMP [6105016.772986] Modules linked in: nf_conntrack_netlink nf_log_ipv4 nf_log_common xt_LOG binfmt_misc xt_TRACE ip_set_list_set arc4 ecb ppp_mppe act_police cls_u32 sch_ingress sch_tbf pppoe pppox ppp_generic slhc xt_DNETMAP(O) xt_nat iptable_nat nf_nat_ipv4 ip_set_hash_ip ip_set_bitmap_ipmac ip_set_hash_net iptable_raw xt_mac xt_set ip_set_hash_netport ip_set nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack xt_tcpudp xt_multiport xt_comment iptable_filter ip_tables x_tables nf_nat_ftp nf_conntrack_ftp nf_nat_pptp nf_conntrack_pptp nf_conntrack_proto_gre nf_nat_proto_gre tun nf_nat nfnetlink_log nf_conntrack nfnetlink imq nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc joydev hid_generic evdev iTCO_wdt iTCO_vendor_support x86_pkg_temp_thermal intel_powerclamp intel_rapl coretemp usbhid [6105016.780159] kvm_intel hid kvm crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw ast gf128mul glue_helper tcp_htcp ablk_helper ttm cryptd i2c_i801 drm_kms_helper drm pcspkr tpm_tis tpm battery video acpi_pad button lpc_ich mfd_core shpchp mei_me processor mei ipmi_watchdog ipmi_si ipmi_poweroff ipmi_devintf ipmi_msghandler fuse autofs4 btrfs xor raid6_pq dm_mod raid1 md_mod crc32c_intel sg igb sd_mod i2c_algo_bit i2c_core ehci_pci e1000e ehci_hcd xhci_pci xhci_hcd ixgbe dca usbcore ptp pps_core usb_common mdio fan thermal thermal_sys [6105016.787627] CPU: 6 PID: 24810 Comm: accel-pppd Tainted: G O 3.18.22 #1 [6105016.788534] Hardware name: Supermicro X10SLM-F/X10SLM-F, BIOS 3.0a 12/21/2015 [6105016.789408] task: ffff880214711430 ti: ffff880063154000 task.ti: ffff880063154000 [6105016.790256] RIP: 0010:[] [] pppoe_release+0x147/0x1c0 [pppoe] [6105016.791146] RSP: 0018:ffff880063157e48 EFLAGS: 00010202 [6105016.791997] RAX: 0000000000000000 RBX: ffff8800d032d800 RCX: 000000000000ad8a [6105016.792864] RDX: 000000000000ad8a RSI: 0000000000000200 RDI: ffffffff814abe7e [6105016.793716] RBP: ffff88021525fa80 R08: 0000000000000000 R09: 0000000000000000 [6105016.794521] R10: ffff8800d3dd7010 R11: 0000000000000293 R12: ffff88021525fab0 [6105016.795316] R13: ffff880216ce57e0 R14: ffff8801a16ec618 R15: ffff88021525fab0 [6105016.796100] FS: 00007eff1fbfb700(0000) GS:ffff88021fd80000(0000) knlGS:0000000000000000 [6105016.796892] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [6105016.797678] CR2: 00000000000003d8 CR3: 0000000211270000 CR4: 00000000001407e0 [6105016.798438] Stack: [6105016.799210] 0000000000000001 ffff88021525fa80 ffffffffa0716280 ffff88021525fab0 [6105016.799927] ffff880216ce57e0 ffff8801a16ec618 ffff88021525fab0 ffffffff814a812e [6105016.800701] 0000000000000008 ffff8800d3dd7000 0000000000000008 ffffffff814a81b2 [6105016.801415] Call Trace: [6105016.802155] [] ? sock_release+0x1e/0x90 [6105016.802857] [] ? sock_close+0x12/0x20 [6105016.803541] [] ? fput+0xcc/0x1e0 [6105016.804219] [] ? task_work_run+0xb7/0xf0 [6105016.804944] [] ? do_notify_resume+0x69/0xa0 [6105016.805606] [] ? int_signal+0x12/0x17 [6105016.806248] Code: d9 e0 48 89 df e8 1a 9e d9 e0 f0 ff 4b 6c 74 3c 31 c0 48 83 c4 08 5b 5d 41 5c 41 5d 41 5e 41 5f c3 0f 1f 00 48 8b 83 f0 02 00 00 <48> 8b 80 d8 03 00 00 65 ff 08 48 c7 83 f0 02 00 00 00 00 00 00 [6105016.807672] RIP [] pppoe_release+0x147/0x1c0 [pppoe] [6105016.808329] RSP [6105016.808966] CR2: 00000000000003d8 [6105017.091231] ---[ end trace c8a5b0276d604167 ]--- [6105018.864316] BUG: unable to handle kernel NULL pointer dereference at 00000000000003d8 [6105018.865534] IP: [] pppoe_release+0x147/0x1c0 [pppoe] [6105018.866732] PGD 20bcf1067 PUD 213e89067 PMD 0 [6105018.867895] Oops: 0000 [#2] SMP [6105018.869028] Modules linked in: nf_conntrack_netlink nf_log_ipv4 nf_log_common xt_LOG binfmt_misc xt_TRACE ip_set_list_set arc4 ecb ppp_mppe act_police cls_u32 sch_ingress sch_tbf pppoe pppox ppp_generic slhc xt_DNETMAP(O) xt_nat iptable_nat nf_nat_ipv4 ip_set_hash_ip ip_set_bitmap_ipmac ip_set_hash_net iptable_raw xt_mac xt_set ip_set_hash_netport ip_set nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack xt_tcpudp xt_multiport xt_comment iptable_filter ip_tables x_tables nf_nat_ftp nf_conntrack_ftp nf_nat_pptp nf_conntrack_pptp nf_conntrack_proto_gre nf_nat_proto_gre tun nf_nat nfnetlink_log nf_conntrack nfnetlink imq nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc joydev hid_generic evdev iTCO_wdt iTCO_vendor_support x86_pkg_temp_thermal intel_powerclamp intel_rapl coretemp usbhid [6105018.874562] kvm_intel hid kvm crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw ast gf128mul glue_helper tcp_htcp ablk_helper ttm cryptd i2c_i801 drm_kms_helper drm pcspkr tpm_tis tpm battery video acpi_pad button lpc_ich mfd_core shpchp mei_me processor mei ipmi_watchdog ipmi_si ipmi_poweroff ipmi_devintf ipmi_msghandler fuse autofs4 btrfs xor raid6_pq dm_mod raid1 md_mod crc32c_intel sg igb sd_mod i2c_algo_bit i2c_core ehci_pci e1000e ehci_hcd xhci_pci xhci_hcd ixgbe dca usbcore ptp pps_core usb_common mdio fan thermal thermal_sys [6105018.878083] CPU: 7 PID: 21081 Comm: accel-pppd Tainted: G D O 3.18.22 #1 [6105018.878764] Hardware name: Supermicro X10SLM-F/X10SLM-F, BIOS 3.0a 12/21/2015 [6105018.879449] task: ffff88018dc782d0 ti: ffff88015b6fc000 task.ti: ffff88015b6fc000 [6105018.880137] RIP: 0010:[] [] pppoe_release+0x147/0x1c0 [pppoe] [6105018.880844] RSP: 0018:ffff88015b6ffe48 EFLAGS: 00010202 [6105018.881539] RAX: 0000000000000000 RBX: ffff8800c4f4ac00 RCX: 0000000000007b7d [6105018.882228] RDX: 0000000000007b7d RSI: 0000000000000200 RDI: ffffffff814abe7e [6105018.882920] RBP: ffff8802160fdcc0 R08: 0000000000000000 R09: 0000000000000000 [6105018.883641] R10: ffff8800cfbc3610 R11: 0000000000000293 R12: ffff8802160fdcf0 [6105018.884337] R13: ffff880216ce57e0 R14: ffff8800022b7e58 R15: ffff8802160fdcf0 [6105018.885004] FS: 00007effad3c0700(0000) GS:ffff88021fdc0000(0000) knlGS:0000000000000000 [6105018.885666] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [6105018.886338] CR2: 00000000000003d8 CR3: 0000000211270000 CR4: 00000000001407e0 [6105018.886978] Stack: [6105018.887597] 0000000000000001 ffff8802160fdcc0 ffffffffa0716280 ffff8802160fdcf0 [6105018.888223] ffff880216ce57e0 ffff8800022b7e58 ffff8802160fdcf0 ffffffff814a812e [6105018.888849] 0000000000000008 ffff8800cfbc3600 0000000000000008 ffffffff814a81b2 [6105018.889473] Call Trace: [6105018.890133] [] ? sock_release+0x1e/0x90 [6105018.890768] [] ? sock_close+0x12/0x20 [6105018.891445] [] ? fput+0xcc/0x1e0 [6105018.892137] [] ? task_work_run+0xb7/0xf0 [6105018.892767] [] ? do_notify_resume+0x69/0xa0 [6105018.893399] [] ? int_signal+0x12/0x17 [6105018.894007] Code: d9 e0 48 89 df e8 1a 9e d9 e0 f0 ff 4b 6c 74 3c 31 c0 48 83 c4 08 5b 5d 41 5c 41 5d 41 5e 41 5f c3 0f 1f 00 48 8b 83 f0 02 00 00 <48> 8b 80 d8 03 00 00 65 ff 08 48 c7 83 f0 02 00 00 00 00 00 00 [6105018.895329] RIP [] pppoe_release+0x147/0x1c0 [pppoe] [6105018.896016] RSP [6105018.896664] CR2: 00000000000003d8 [6105018.899588] ---[ end trace c8a5b0276d604168 ]---

And after that i am unable to remove or add this interface to accel anymore:

root@rwl0:/var/log/accel-ppp# accel-cmd pppoe interface show | grep eth1.144
 eth1.144              2      stop
root@rwl0:/var/log/accel-ppp# accel-cmd pppoe interface add eth1.144
error: already exists

accel-ppp latest from 1.11.0 branch