From: Philip P. <phi...@re...> - 2010-09-23 17:04:35
|
On 9/22/10 8:21 AM, Karl Hiramoto wrote: > On 09/22/10 16:21, chas williams - CONTRACTOR wrote: >> On Tue, 21 Sep 2010 21:19:45 -0700 >> Philip Prindeville<phi...@re...> wrote: >> >> >>> BUG: unable to handle kernel NULL pointer dereference at 00000090 >> like it said, null pointer dereference. i.e. (null)->something >> >>> IP: [<e0133050>] :ppp_generic:ppp_channel_carrier_on+0x16/0x31 >> very early in ppp_channel_carrier_on() which means it is likely >> 'struct channel *pch = chan->ppp;' where chan is null for some reason. >> there could be an ordering issue here. pvcc->chan might not be >> assigned by the time the event is ready to fire. it is reasonable to >> expect that the carrier status of the hardware device will change >> before the vcc is even assigned to the ppp layer. >> >> > Yeah, thats exactly what it is. The last version of the patch i sent > checks "if (pch->ppp)" > > in pppoatm when ppp_register_channel() is called the PPP channel is not > yet connected so pch->ppp is null. What I'm seeing in user-space is: >>>> Link up pbx2 ~ # ip link show ppp0 8: ppp0:<POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3 link/ppp >>>> cable unplugged pbx2 ~ # ip link show ppp0 8: ppp0:<POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3 link/ppp pbx2 ~ # ip link show ppp0 8: ppp0:<POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3 link/ppp pbx2 ~ # ip link show ppp0 8: ppp0:<POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3 link/ppp >>>> cable plugged back in, carrier restored pbx2 ~ # ip link show ppp0 22: ppp0:<POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3 link/ppp pbx2 ~ # What's the "8" vs. "22"? (And is 3 an appropriate queue length?) Also seeing from dmesg: PPP generic driver version 2.4.2 NET: Registered protocol family 24 Device: 0 Vpi: 0 Vci: 32 ip_tables: (C) 2000-2006 Netfilter Core Team nf_conntrack version 0.5.0 (8192 buckets, 32768 max) device ap0 entered promiscuous mode br1: topology change detected, propagating br1: port 3(ap0) entering forwarding state BUG: scheduling while atomic: pppd/1606/0x00000002 Modules linked in: binfmt_misc aes_i586 aes_generic xt_tcpudp ipt_MASQUERADE iptable_nat nf_nat_ftp nf_nat nf_conntrack_ipv4 xt_TCPMSS ipt_LOG ipt_REJECT iptable_mangle iptable_filter xt_multiport xt_state xt_limit xt_conntrack nf_conntrack_ftp nf_conntrack ip_tables x_tables pppoatm pppox ppp_generic slhc bridge stp llc solos_pci atm dummy ath5k mac80211 ath cfg80211 rfkill_backport compat dahdi sha512_generic sha256_generic deflate zlib_deflate arc4 ecb sha1_generic blowfish des_generic cbc cryptosoft cryptodev(P) ocf(P) geodewdt geode_rng geode_aes crypto_blkcipher 8139cp rtc lm90 hwmon i2c_core cs5535_gpio Pid: 1606, comm: pppd Tainted: P 2.6.27.49-astlinux #1 [<c02a6fd4>] schedule+0x62/0x28b [<c02a757b>] schedule_timeout+0x13/0x8f [<c02a740d>] wait_for_common+0xb1/0x11a [<c0112437>] default_wake_function+0x0/0x8 [<c012214e>] synchronize_rcu+0x2a/0x2f [<c012216b>] wakeme_after_rcu+0x0/0x8 [<c0127431>] atomic_notifier_chain_unregister+0x33/0x38 [<e01170e3>] pppoatm_push+0x51/0x181 [pppoatm] [<e0086b46>] vcc_release+0x55/0xdf [atm] [<c0249043>] sock_release+0x11/0x68 [<c024949b>] sock_close+0x26/0x2a [<c0150fa0>] __fput+0x88/0x13b [<c014ed58>] filp_close+0x4d/0x53 [<c014fdbf>] sys_close+0x6d/0xb6 [<c01037e6>] syscall_call+0x7/0xb ======================= Device: 0 Vpi: 0 Vci: 32 BUG: scheduling while atomic: pppd/1606/0x00000002 Modules linked in: binfmt_misc aes_i586 aes_generic xt_tcpudp ipt_MASQUERADE iptable_nat nf_nat_ftp nf_nat nf_conntrack_ipv4 xt_TCPMSS ipt_LOG ipt_REJECT iptable_mangle iptable_filter xt_multiport xt_state xt_limit xt_conntrack nf_conntrack_ftp nf_conntrack ip_tables x_tables pppoatm pppox ppp_generic slhc bridge stp llc solos_pci atm dummy ath5k mac80211 ath cfg80211 rfkill_backport compat dahdi sha512_generic sha256_generic deflate zlib_deflate arc4 ecb sha1_generic blowfish des_generic cbc cryptosoft cryptodev(P) ocf(P) geodewdt geode_rng geode_aes crypto_blkcipher 8139cp rtc lm90 hwmon i2c_core cs5535_gpio Pid: 1606, comm: pppd Tainted: P 2.6.27.49-astlinux #1 [<c02a6fd4>] schedule+0x62/0x28b [<c02a757b>] schedule_timeout+0x13/0x8f [<c02a740d>] wait_for_common+0xb1/0x11a [<c0112437>] default_wake_function+0x0/0x8 [<c012214e>] synchronize_rcu+0x2a/0x2f [<c012216b>] wakeme_after_rcu+0x0/0x8 [<c0127431>] atomic_notifier_chain_unregister+0x33/0x38 [<e01170e3>] pppoatm_push+0x51/0x181 [pppoatm] [<e0086b46>] vcc_release+0x55/0xdf [atm] [<c0249043>] sock_release+0x11/0x68 [<c024949b>] sock_close+0x26/0x2a [<c0150fa0>] __fput+0x88/0x13b [<c014ed58>] filp_close+0x4d/0x53 [<c014fdbf>] sys_close+0x6d/0xb6 [<c01037e6>] syscall_call+0x7/0xb ======================= Device: 0 Vpi: 0 Vci: 32 BUG: scheduling while atomic: pppd/1606/0x00000002 Modules linked in: binfmt_misc aes_i586 aes_generic xt_tcpudp ipt_MASQUERADE iptable_nat nf_nat_ftp nf_nat nf_conntrack_ipv4 xt_TCPMSS ipt_LOG ipt_REJECT iptable_mangle iptable_filter xt_multiport xt_state xt_limit xt_conntrack nf_conntrack_ftp nf_conntrack ip_tables x_tables pppoatm pppox ppp_generic slhc bridge stp llc solos_pci atm dummy ath5k mac80211 ath cfg80211 rfkill_backport compat dahdi sha512_generic sha256_generic deflate zlib_deflate arc4 ecb sha1_generic blowfish des_generic cbc cryptosoft cryptodev(P) ocf(P) geodewdt geode_rng geode_aes crypto_blkcipher 8139cp rtc lm90 hwmon i2c_core cs5535_gpio Pid: 1606, comm: pppd Tainted: P 2.6.27.49-astlinux #1 [<c02a6fd4>] schedule+0x62/0x28b [<c02a757b>] schedule_timeout+0x13/0x8f [<c02a740d>] wait_for_common+0xb1/0x11a [<c0112437>] default_wake_function+0x0/0x8 [<c012214e>] synchronize_rcu+0x2a/0x2f [<c012216b>] wakeme_after_rcu+0x0/0x8 [<c0127431>] atomic_notifier_chain_unregister+0x33/0x38 [<e01170e3>] pppoatm_push+0x51/0x181 [pppoatm] [<e0086b46>] vcc_release+0x55/0xdf [atm] [<c0249043>] sock_release+0x11/0x68 [<c024949b>] sock_close+0x26/0x2a [<c0150fa0>] __fput+0x88/0x13b [<c014ed58>] filp_close+0x4d/0x53 [<c014fdbf>] sys_close+0x6d/0xb6 [<c01037e6>] syscall_call+0x7/0xb ======================= Device: 0 Vpi: 0 Vci: 32 BUG: scheduling while atomic: pppd/1606/0x00000002 Modules linked in: binfmt_misc aes_i586 aes_generic xt_tcpudp ipt_MASQUERADE iptable_nat nf_nat_ftp nf_nat nf_conntrack_ipv4 xt_TCPMSS ipt_LOG ipt_REJECT iptable_mangle iptable_filter xt_multiport xt_state xt_limit xt_conntrack nf_conntrack_ftp nf_conntrack ip_tables x_tables pppoatm pppox ppp_generic slhc bridge stp llc solos_pci atm dummy ath5k mac80211 ath cfg80211 rfkill_backport compat dahdi sha512_generic sha256_generic deflate zlib_deflate arc4 ecb sha1_generic blowfish des_generic cbc cryptosoft cryptodev(P) ocf(P) geodewdt geode_rng geode_aes crypto_blkcipher 8139cp rtc lm90 hwmon i2c_core cs5535_gpio Pid: 1606, comm: pppd Tainted: P 2.6.27.49-astlinux #1 [<c02a6fd4>] schedule+0x62/0x28b [<c02a757b>] schedule_timeout+0x13/0x8f [<c02a740d>] wait_for_common+0xb1/0x11a [<c0112437>] default_wake_function+0x0/0x8 [<c012214e>] synchronize_rcu+0x2a/0x2f [<c012216b>] wakeme_after_rcu+0x0/0x8 [<c0127431>] atomic_notifier_chain_unregister+0x33/0x38 [<e01170e3>] pppoatm_push+0x51/0x181 [pppoatm] [<e0086b46>] vcc_release+0x55/0xdf [atm] [<c0249043>] sock_release+0x11/0x68 [<c024949b>] sock_close+0x26/0x2a [<c0150fa0>] __fput+0x88/0x13b [<c014ed58>] filp_close+0x4d/0x53 [<c014fdbf>] sys_close+0x6d/0xb6 [<c01037e6>] syscall_call+0x7/0xb ======================= Device: 0 Vpi: 0 Vci: 32 BUG: scheduling while atomic: pppd/1606/0x00000002 Modules linked in: binfmt_misc aes_i586 aes_generic xt_tcpudp ipt_MASQUERADE iptable_nat nf_nat_ftp nf_nat nf_conntrack_ipv4 xt_TCPMSS ipt_LOG ipt_REJECT iptable_mangle iptable_filter xt_multiport xt_state xt_limit xt_conntrack nf_conntrack_ftp nf_conntrack ip_tables x_tables pppoatm pppox ppp_generic slhc bridge stp llc solos_pci atm dummy ath5k mac80211 ath cfg80211 rfkill_backport compat dahdi sha512_generic sha256_generic deflate zlib_deflate arc4 ecb sha1_generic blowfish des_generic cbc cryptosoft cryptodev(P) ocf(P) geodewdt geode_rng geode_aes crypto_blkcipher 8139cp rtc lm90 hwmon i2c_core cs5535_gpio Pid: 1606, comm: pppd Tainted: P 2.6.27.49-astlinux #1 [<c02a6fd4>] schedule+0x62/0x28b [<c02a757b>] schedule_timeout+0x13/0x8f [<c02a740d>] wait_for_common+0xb1/0x11a [<c0112437>] default_wake_function+0x0/0x8 [<c012214e>] synchronize_rcu+0x2a/0x2f [<c012216b>] wakeme_after_rcu+0x0/0x8 [<c0127431>] atomic_notifier_chain_unregister+0x33/0x38 [<e01170e3>] pppoatm_push+0x51/0x181 [pppoatm] [<e0086b46>] vcc_release+0x55/0xdf [atm] [<c0249043>] sock_release+0x11/0x68 [<c024949b>] sock_close+0x26/0x2a [<c0150fa0>] __fput+0x88/0x13b [<c014ed58>] filp_close+0x4d/0x53 [<c014fdbf>] sys_close+0x6d/0xb6 [<c01037e6>] syscall_call+0x7/0xb ======================= Device: 0 Vpi: 0 Vci: 32 |