linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
@ 2011-10-13  8:56 Elmar Vonlanthen
  0 siblings, 0 replies; 35+ messages in thread
From: Elmar Vonlanthen @ 2011-10-13  8:56 UTC (permalink / raw)
  To: davem; +Cc: linux-kernel



Hello Mr Miller (and all other readers)
According to the maintainer list and the document "REPORTING-BUGS" I should send this report to you. Please excuse me, if you are the wrong person to receive this mail.
1. PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops 
2. If have a setup with two gateways connected with ipsec and gre tunnels. They do ospf routing. 
This is the setup I have:[ host chgut11fw01 ] ================================================== [ host chgut1fw01 ]
     (dev gAAchgut1) 10.254.11.1 ---------gre/ospf--------- 10.254.1.11 (dev gAAchgut11)                       V                                      V          (dev eth1) 10.10.111.4 -----strongswan/ipsec----- 10.10.101.4 (dev eth1)

Sometimes, if the process ospfd (package quagga) is trying to send a multicast packet with the system call "sendmsg" a kernel oops happens. When I add and remove the GRE interface in a loop the oops happens normally after some seconds or two, three minutes (this is the way I can reproduce the problem). But the problem happens only on host chgut11fw01 (See hardware details below). On host chgut1fw01 I'm not able to reproduce it!  It is the call sendmsg() in ospf_packet.c line 737 (quagga-0.99.20 source) which causes the problem. It tries to send a packet of length 16384 to 224.0.0.5 over device gAAchgut1 as soon as the device is added to the multcast group.
3. Keywords: networking, kernel
4.1 Kernel Version: Linux version 3.0.4-SMP (root@whiskey) (gcc version 4.4.4 (Gentoo 4.4.4-r2 p1.3, pie-0.4.5) ) #1 SMP Thu Oct 6 16:24:22 CEST 20112.6.35.10 and 2.6.35.14 are affected as well.
4.2 Kernel Config: If necessary, I can post the enabled configuration options.
5. Kernel Version which doesn't have the bug: None
6. Kernel oops message
I saw too late, that my kernel 3.0.4 is "tainted". I don't know why, because the kernel 2.6.35.10 which I use as well is not. The only thing I did was to add the "aufs" patch, but on both kernel versions (is that the reason?). Below you find a oops with the not tainted kernel 2.6.35.10.
2011-10-10 09:32:08 chgut11fw01 kernel: skb_over_panic: text:c1305749 len:64 put:64 head:c7ea6a00 data:c7ea6a50 tail:0xc7ea6a90 end:0xc7ea6a80 dev:<NULL>2011-10-10 09:32:08 chgut11fw01 kernel: ------------[ cut here ]------------2011-10-10 09:32:09 chgut11fw01 kernel: kernel BUG at net/core/skbuff.c:128!2011-10-10 09:32:09 chgut11fw01 kernel: invalid opcode: 0000 [#40] SMP2011-10-10 09:32:09 chgut11fw01 kernel: Modules linked in: nf_conntrack_netlink nfnetlink ip_gre gre authenc xfrm4_mode_transport deflate zlib_deflate ctr twofish_generic twofish_common serpent cryptd aes_i586 aes_generic blowfish cast5 cbc ecb rmd160 sha512_generic sha256_generic sha1_generic xfrm_user xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG xt_limit ipt_REJECT xt_state ipt_REDIRECT ipt_MASQUERADE xt_policy xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK iptable_filter iptable_nat xt_mark xt_connmark iptable_mangle iptable_raw ip_tables x_tables nf_conntrack_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack rtc ppdev parport_pc parport w83792d i2c_dev i2c_i801 i2c_core pl2303 usbserial coretemp hwmon usbhid ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e aufsata_piix libata2011-10-10 09:32:09 chgut11fw01 kernel:2011-10-10 09:32:09 chgut11fw01 kernel: Pid: 17011, comm: ospfd Tainted: G      D     3.0.4-SMP #1    /LakePort2011-10-10 09:32:09 chgut11fw01 kernel: EIP: 0060:[<c12b6575>] EFLAGS: 00210296 CPU: 02011-10-10 09:32:09 chgut11fw01 kernel: EIP is at skb_put+0x85/0x902011-10-10 09:32:09 chgut11fw01 kernel: EAX: 00000078 EBX: c1305749 ECX: 00200082 EDX: ffffff8b2011-10-10 09:32:09 chgut11fw01 kernel: ESI: dd6420c0 EDI: 00000040 EBP: d7d23c7c ESP: d7d23c542011-10-10 09:32:09 chgut11fw01 kernel: DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 00682011-10-10 09:32:09 chgut11fw01 kernel: Process ospfd (pid: 17011, ti=d7d22000 task=de908a90 task.ti=d7d22000)2011-10-10 09:32:09 chgut11fw01 kernel: Stack:2011-10-10 09:32:09 chgut11fw01 kernel: c13fd19c c1305749 00000040 00000040 c7ea6a00 c7ea6a50 c7ea6a90 c7ea6a802011-10-10 09:32:09 chgut11fw01 kernel: c13fb224 d83d90c0 d7d23d34 c1305749 d7d23d20 02916cfd 4c9e613e 000000012011-10-10 09:32:09 chgut11fw01 kernel: 00000001 d7d23ce4 d7d23cc8 00000000 0000e8d5 d7d23ecc caddb300 c7ea6a502011-10-10 09:32:09 chgut11fw01 kernel: Call Trace:2011-10-10 09:32:09 chgut11fw01 kernel: [<c1305749>] ? raw_sendmsg+0x5a9/0x8502011-10-10 09:32:09 chgut11fw01 kernel: [<c1305749>] raw_sendmsg+0x5a9/0x8502011-10-10 09:32:09 chgut11fw01 kernel: [<c1305749>] raw_sendmsg+0x5a9/0x8502011-10-10 09:32:09 chgut11fw01 kernel: [<c12ccebd>] ? __rtnl_unlock+0xd/0x102011-10-10 09:32:09 chgut11fw01 kernel: [<c12c06bd>] ? netdev_run_todo+0x3d/0x2202011-10-10 09:32:09 chgut11fw01 kernel: [<c133d400>] ? _raw_read_lock_irq+0x20/0x202011-10-10 09:32:09 chgut11fw01 kernel: [<c130efa2>] inet_sendmsg+0x42/0xa02011-10-10 09:32:09 chgut11fw01 kernel: [<c12ea0e5>] ? do_ip_setsockopt+0x75/0xbe02011-10-10 09:32:09 chgut11fw01 kernel: [<c10213e7>] ? __wake_up_sync_key+0x47/0x602011-10-10 09:32:09 chgut11fw01 kernel: [<c12af947>] sock_sendmsg+0xa7/0xd02011-10-10 09:32:09 chgut11fw01 kernel: [<c12b5df9>] ? skb_queue_tail+0x39/0x502011-10-10 09:32:09 chgut11fw01 kernel: [<c12af947>] ? sock_sendmsg+0xa7/0xd02011-10-10 09:32:09 chgut11fw01 kernel: [<c12b8be3>] ? verify_iovec+0x53/0xb02011-10-10 09:32:09 chgut11fw01 kernel: [<c12b0640>] __sys_sendmsg+0x2f0/0x3002011-10-10 09:32:09 chgut11fw01 kernel: [<c12af9de>] ? sockfd_lookup_light+0x1e/0x702011-10-10 09:32:09 chgut11fw01 kernel: [<c12b003a>] ? sys_sendto+0xaa/0xe02011-10-10 09:32:09 chgut11fw01 kernel: [<c1047d65>] ? sched_clock_local+0xa5/0x1802011-10-10 09:32:09 chgut11fw01 kernel: [<c102f898>] ? nsecs_to_jiffies+0x8/0x102011-10-10 09:32:09 chgut11fw01 kernel: [<c12eac91>] ? ip_setsockopt+0x41/0xa02011-10-10 09:32:09 chgut11fw01 kernel: [<c12b0796>] sys_sendmsg+0x36/0x602011-10-10 09:32:09 chgut11fw01 kernel: [<c12b13c9>] sys_socketcall+0xe9/0x2802011-10-10 09:32:09 chgut11fw01 kernel: [<c133d6a5>] syscall_call+0x7/0xb2011-10-10 09:32:09 chgut11fw01 kernel: [<c1330000>] ? packet_recvmsg+0x410/0x4402011-10-10 09:32:09 chgut11fw01 kernel: Code: 00 00 89 4c 24 14 8b 88 a4 00 00 00 89 54 24 0c 89 4c 24 10 8b 40 50 89 5c 24 04 c7 04 24 9c d1 3f c1 89 44 24 08 e8 dc 4b 08 00 <0f> 0b eb fe b9 24 b2 3f c1 eb ae 55 89 e5 57 56 89 d6 53 89 c32011-10-10 09:32:09 chgut11fw01 kernel: EIP: [<c12b6575>] skb_put+0x85/0x90 SS:ESP 0068:d7d23c542011-10-10 09:32:09 chgut11fw01 kernel: ---[ end trace 88d35f34d6a6da4a ]---
Oops from "not-tainted" Kernel:2011-10-05 14:32:59 chgut11fw01 kernel: skb_over_panic: text:c12c3067 len:64 put:64 head:d920b800 data:d920b850 tail:0xd920b890 end:0xd920b880 dev:<NULL>2011-10-05 14:32:59 chgut11fw01 kernel: ------------[ cut here ]------------2011-10-05 14:32:59 chgut11fw01 kernel: kernel BUG at net/core/skbuff.c:127!2011-10-05 14:32:59 chgut11fw01 kernel: invalid opcode: 0000 [#1] SMP2011-10-05 14:32:59 chgut11fw01 kernel: last sysfs file: /sys/devices/pci0000:00/0000:00:1f.3/i2c-0/0-002d/chassis2011-10-05 14:33:00 chgut11fw01 kernel: Modules linked in: ip_gre authenc xfrm4_mode_transport deflate zlib_deflate ctr twofish twofish_common serpent aes_i586 aes_generic blowfish cast5 cbc ecb rmd160 sha512_generic sha256_generic sha1_generic xfrm_user xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG xt_limit ipt_REJECT xt_state ipt_REDIRECT ipt_MASQUERADE xt_policy xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK iptable_filter iptable_nat xt_mark xt_connmark iptable_mangle iptable_raw ip_tables x_tables nf_conntrack_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack ppdev parport_pc parport w83792d i2c_dev i2c_i801 i2c_core pl2303 coretemp hwmon usbhid option usb_wwan usbserial ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e aufs ata_piix libata2011-10-05 14:33:00 chgut11fw01 kernel:2011-10-05 14:33:00 chgut11fw01 kernel: Pid: 6119, comm: ospfd Not tainted 2.6.35.10-DEBUG #1 LakePort/2011-10-05 14:33:00 chgut11fw01 kernel: EIP: 0060:[<c1277595>] EFLAGS: 00010282 CPU: 12011-10-05 14:33:00 chgut11fw01 kernel: EIP is at skb_put+0x85/0x902011-10-05 14:33:00 chgut11fw01 kernel: EAX: 00000078 EBX: c12c3067 ECX: 00000086 EDX: 009850002011-10-05 14:33:00 chgut11fw01 kernel: ESI: d9044bc0 EDI: 00000040 EBP: d78e7c84 ESP: d78e7c5c2011-10-05 14:33:00 chgut11fw01 kernel: DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 00682011-10-05 14:33:00 chgut11fw01 kernel: Process ospfd (pid: 6119, ti=d78e6000 task=decd3170 task.ti=d78e6000)2011-10-05 14:33:00 chgut11fw01 kernel: Stack:                                                                                                                                                                 2011-10-05 14:33:00 chgut11fw01 kernel: c13b936c c12c3067 00000040 00000040 d920b800 d920b850 d920b890 d920b8802011-10-05 14:33:00 chgut11fw01 kernel: <0> c1391cb4 dbc733c0 d78e7cb8 c12c3067 d78e7ca8 d78e7cf8 d78e7d44 c14dab802011-10-05 14:33:00 chgut11fw01 kernel: <0> d78e7ee0 d920b850 db755080 00000001 d78e7f40 db755080 00000000 d78e7d542011-10-05 14:33:00 chgut11fw01 kernel: Call Trace:2011-10-05 14:33:00 chgut11fw01 kernel: [<c12c3067>] ? raw_send_hdrinc+0xd7/0x2e02011-10-05 14:33:00 chgut11fw01 kernel: [<c12c3067>] ? raw_send_hdrinc+0xd7/0x2e02011-10-05 14:33:00 chgut11fw01 kernel: [<c12c36c9>] ? raw_sendmsg+0x459/0x4b02011-10-05 14:33:00 chgut11fw01 kernel: [<c128b900>] ? __rtnl_kill_links+0x40/0x702011-10-05 14:33:00 chgut11fw01 kernel: [<c12a8800>] ? ip_ra_control+0xc0/0x1302011-10-05 14:33:00 chgut11fw01 kernel: [<c12cc0df>] ? inet_sendmsg+0x3f/0xa02011-10-05 14:33:00 chgut11fw01 kernel: [<c1270c27>] ? sock_sendmsg+0xa7/0xd02011-10-05 14:33:00 chgut11fw01 kernel: [<c12e5f56>] ? unix_stream_sendmsg+0x1e6/0x3402011-10-05 14:33:00 chgut11fw01 kernel: [<c1021f14>] ? scale_rt_power+0x24/0xb02011-10-05 14:33:00 chgut11fw01 kernel: [<c102b128>] ? find_busiest_group+0x5c8/0x9302011-10-05 14:33:00 chgut11fw01 kernel: [<c1279bb3>] ? verify_iovec+0x53/0xb02011-10-05 14:33:00 chgut11fw01 kernel: [<c12710c3>] ? sys_sendmsg+0x113/0x2202011-10-05 14:33:00 chgut11fw01 kernel: [<c102b50f>] ? load_balance+0x7f/0x5502011-10-05 14:33:00 chgut11fw01 kernel: [<c10470a5>] ? sched_clock_local+0xa5/0x1802011-10-05 14:33:00 chgut11fw01 kernel: [<c12a94a1>] ? ip_setsockopt+0x41/0xa02011-10-05 14:33:00 chgut11fw01 kernel: [<c12c25dc>] ? raw_setsockopt+0x3c/0x802011-10-05 14:33:00 chgut11fw01 kernel: [<c1272b12>] ? sock_common_setsockopt+0x22/0x302011-10-05 14:33:00 chgut11fw01 kernel: [<c12724d6>] ? sys_socketcall+0xd6/0x2702011-10-05 14:33:00 chgut11fw01 kernel: [<c12f6c25>] ? syscall_call+0x7/0xb2011-10-05 14:33:00 chgut11fw01 kernel: [<c12f0000>] ? quirk_vt8235_acpi+0x23/0x8d2011-10-05 14:33:00 chgut11fw01 kernel: Code: 00 00 89 4c 24 14 8b 88 a4 00 00 00 89 54 24 0c 89 4c 24 10 8b 40 50 89 5c 24 04 c7 04 24 6c 93 3b c1 89 44 24 08 e8 76 d2 07 00 <0f> 0b eb fe b9 b4 1c 39 c1 eb ae 55 89 e5 57 56 53 89 c3 83 ec2011-10-05 14:33:00 chgut11fw01 kernel: EIP: [<c1277595>] skb_put+0x85/0x90 SS:ESP 0068:d78e7c5c2011-10-05 14:33:00 chgut11fw01 kernel: ---[ end trace bc0a60e600586911 ]---
7.The programms ospfd/zebra (quagga) has to be running with device gAAchgut1 configured as ospf device. It seems ipsec (strongswan) has to be running as well, with encrypted transport connection between 10.10.101.4 and 10.10.111.4.
It is ospfd which causes the kernel oops.
The following script triggers ospfd to execute the sendmsg system call:#!/bin/shwhile true; do  php -r "    exec('ip tunnel del gAAchgut1');    exec('ip tunnel add gAAchgut1 mode gre remote 10.10.101.4 local 10.10.101.4 ttl 255 tos inherit');    exec('ip link set gAAchgut1 up multicast on mtu 1356');    exec('ip addr add 10.254.11.1 peer 10.254.1.11/32 dev gAAchgut1');  "done
If I execute the commands directly (and not via php), I'm not able to reproduce the problem. Timing problem?
8.1Linux chgut11fw01 3.0.4-SMP #1 SMP Thu Oct 6 16:24:22 CEST 2011 i686 Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz GenuineIntel GNU/Linux
Gnu C                  4.4.4Gnu make               3.81binutils               2.20.1.20100303util-linux             2.17.2mount                  supportmodule-init-tools      3.4e2fsprogs              1.41.12PPP                    2.4.4Linux C Library        2.11.2Dynamic linker (ldd)   2.11.2Linux C++ Library      6.0.13Procps                 3.2.7Net-tools              1.60Kbd                    1.13Sh-utils               6.10udev                   124Modules Loaded         nf_conntrack_netlink nfnetlink ip_gre gre authenc xfrm4_mode_transport deflate zlib_deflate ctr twofish_generic twofish_common serpent cryptd aes_i586 aes_generic blowfish cast5 cbc ecb rmd160 sha512_generic sha256_generic sha1_generic xfrm_user xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG xt_limit ipt_REJECT xt_state ipt_REDIRECT ipt_MASQUERADE xt_policy xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK iptable_filter iptable_nat xt_mark xt_connmark iptable_mangle iptable_raw ip_tables x_tables nf_conntrack_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack rtc ppdev parport_pc parport w83792d i2c_dev i2c_i801 i2c_core pl2303 usbserial coretemp hwmon usbhid ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e aufs ata_piix libata
quagga:                0.99.20strongswan:            4.5.3
I am able to reproduce the problem as well with the following versions:quagga:                0.99.17, 0.99.18, 0.99.19strongswan:            4.3.5, 4.5.3kernel (vanilla):      2.6.35.10, 2.6.35.14
8.2processor       : 0vendor_id       : GenuineIntelcpu family      : 6model           : 15model name      : Intel(R) Core(TM)2 Duo CPU     E4600  @ 2.40GHzstepping        : 13cpu MHz         : 2400.099cache size      : 2048 KBphysical id     : 0siblings        : 2core id         : 0cpu cores       : 2apicid          : 0initial apicid  : 0fdiv_bug        : nohlt_bug         : nof00f_bug        : nocoma_bug        : nofpu             : yesfpu_exception   : yescpuid level     : 10wp              : yesflags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtsbogomips        : 4802.20clflush size    : 64cache_alignment : 64address sizes   : 36 bits physical, 48 bits virtualpower management:
processor       : 1vendor_id       : GenuineIntelcpu family      : 6model           : 15model name      : Intel(R) Core(TM)2 Duo CPU     E4600  @ 2.40GHzstepping        : 13cpu MHz         : 2400.099cache size      : 2048 KBphysical id     : 0siblings        : 2core id         : 1cpu cores       : 2apicid          : 1initial apicid  : 1fdiv_bug        : nohlt_bug         : nof00f_bug        : nocoma_bug        : nofpu             : yesfpu_exception   : yescpuid level     : 10wp              : yesflags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtsbogomips        : 4801.84clflush size    : 64cache_alignment : 64address sizes   : 36 bits physical, 48 bits virtualpower management:
8.3nf_conntrack_netlink 13284 0 - Live 0xe2f13000nfnetlink 1943 1 nf_conntrack_netlink, Live 0xe2f09000ip_gre 11012 0 - Live 0xe058e000gre 1098 1 ip_gre, Live 0xe0584000authenc 4836 2 - Live 0xe057d000xfrm4_mode_transport 772 4 - Live 0xe0576000deflate 1252 0 - Live 0xe0570000zlib_deflate 17922 1 deflate, Live 0xe0566000ctr 2308 0 - Live 0xe055c000twofish_generic 5252 0 - Live 0xe0554000twofish_common 12453 1 twofish_generic, Live 0xe054a000serpent 17092 0 - Live 0xe053c000cryptd 4974 0 - Live 0xe0526000aes_i586 6787 2 - Live 0xe051d000aes_generic 25709 1 aes_i586, Live 0xe050e000blowfish 7012 0 - Live 0xe0500000cast5 14116 0 - Live 0xe04f5000cbc 1764 2 - Live 0xe04eb000ecb 1252 0 - Live 0xe04e5000rmd160 6052 0 - Live 0xe04de000sha512_generic 6788 0 - Live 0xe04d6000sha256_generic 10756 0 - Live 0xe04cc000sha1_generic 1444 2 - Live 0xe04c3000xfrm_user 17892 2 - Live 0xe04b9000xfrm4_tunnel 932 0 - Live 0xe04ad000tunnel4 1170 1 xfrm4_tunnel, Live 0xe04a7000ipcomp 1412 0 - Live 0xe04a1000xfrm_ipcomp 2761 1 ipcomp, Live 0xe049a000esp4 4804 2 - Live 0xe0492000ah4 3748 0 - Live 0xe048a000af_key 19696 0 - Live 0xe047f000tun 11335 8 - Live 0xe046c000ipt_LOG 6288 3 - Live 0xe0405000xt_limit 1000 4 - Live 0xe03fd000ipt_REJECT 1764 4 - Live 0xe03f7000xt_state 772 5 - Live 0xe03f0000ipt_REDIRECT 740 1 - Live 0xe039c000ipt_MASQUERADE 996 2 - Live 0xe0396000xt_policy 1956 71 - Live 0xe0390000xt_TCPMSS 1988 1 - Live 0xe037e000xt_tcpmss 964 1 - Live 0xe0377000xt_tcpudp 1604 322 - Live 0xe036b000xt_NOTRACK 612 5 - Live 0xe0365000iptable_filter 772 1 - Live 0xe035b000iptable_nat 2729 1 - Live 0xe0353000xt_mark 708 6 - Live 0xe034c000xt_connmark 1124 2 - Live 0xe0346000iptable_mangle 868 1 - Live 0xe033e000iptable_raw 676 1 - Live 0xe0336000ip_tables 8417 4 iptable_filter,iptable_nat,iptable_mangle,iptable_raw, Live 0xe032e000x_tables 9752 18 ipt_LOG,xt_limit,ipt_REJECT,xt_state,ipt_REDIRECT,ipt_MASQUERADE,xt_policy,xt_TCPMSS,xt_tcpmss,xt_tcpudp,xt_NOTRACK,iptable_filter,iptable_nat,xt_mark,xt_connmark,iptable_mangle,iptable_raw,ip_tables, Live 0xe0323000nf_conntrack_tftp 2360 0 - Live 0xe0319000nf_nat_ftp 1156 0 - Live 0xe0312000nf_nat 10953 4 ipt_REDIRECT,ipt_MASQUERADE,iptable_nat,nf_nat_ftp, Live 0xe030a000nf_conntrack_ipv4 7554 10 iptable_nat,nf_nat, Live 0xe02ff000nf_defrag_ipv4 778 1 nf_conntrack_ipv4, Live 0xe02f6000nf_conntrack_ftp 4456 1 nf_nat_ftp, Live 0xe02ef000nf_conntrack 42655 11 nf_conntrack_netlink,xt_state,ipt_MASQUERADE,xt_NOTRACK,iptable_nat,xt_connmark,nf_conntrack_tftp,nf_nat_ftp,nf_nat,nf_conntrack_ipv4,nf_conntrack_ftp, Live 0xe02dc000rtc 6428 0 - Live 0xe027b000ppdev 4808 2 - Live 0xe0232000parport_pc 14181 1 - Live 0xe0227000parport 12657 2 ppdev,parport_pc, Live 0xe0218000w83792d 12304 0 - Live 0xe020b000i2c_dev 3857 0 - Live 0xe01be000i2c_i801 6348 0 - Live 0xe01b5000i2c_core 13325 3 w83792d,i2c_dev,i2c_i801, Live 0xe01ac000pl2303 10024 0 - Live 0xe01a1000usbserial 23695 1 pl2303, Live 0xe016d000coretemp 3812 0 - Live 0xe013e000hwmon 1006 2 w83792d,coretemp, Live 0xe0136000usbhid 19509 0 - Live 0xe012c000ohci_hcd 15112 0 - Live 0xe00fb000uhci_hcd 16308 0 - Live 0xe00ba000ehci_hcd 27576 0 - Live 0xe0077000usbcore 96694 7 pl2303,usbserial,usbhid,ohci_hcd,uhci_hcd,ehci_hcd, Live 0xe00a1000e1000 83270 0 - Live 0xe0061000e1000e 112509 0 - Live 0xdffd5000aufs 137864 151 - Live 0xdff89000ata_piix 10988 5 - Live 0xdff55000libata 143665 1 ata_piix, Live 0xdff23000
8.4/proc/ioports:0000-0cf7 : PCI Bus 0000:00  0000-001f : dma1  0020-0021 : pic1  0040-0043 : timer0  0050-0053 : timer1  0060-0060 : keyboard  0064-0064 : keyboard  0070-0077 : rtc  0080-008f : dma page reg  00a0-00a1 : pic2  00c0-00df : dma2  00f0-00ff : fpu  0170-0177 : 0000:00:1f.1    0170-0177 : piix  01f0-01f7 : 0000:00:1f.1    01f0-01f7 : piix  0290-029f : pnp 00:01    0290-0297 : pnp 00:01  02f8-02ff : serial  0376-0376 : 0000:00:1f.1    0376-0376 : piix  0378-037a : parport0  03c0-03df : vga+  03f6-03f6 : 0000:00:1f.1    03f6-03f6 : piix  03f8-03ff : serial  0400-04bf : pnp 00:09    0400-0403 : ACPI PM1a_EVT_BLK    0404-0405 : ACPI PM1a_CNT_BLK    0408-040b : ACPI PM_TMR    0428-042f : ACPI GPE0_BLK  04d0-04d1 : pnp 00:01  0500-051f : 0000:00:1f.3    0500-051f : i801_smbus  0800-087f : pnp 00:010cf8-0cff : PCI conf10d00-ffff : PCI Bus 0000:00  6000-6fff : PCI Bus 0000:06    6f00-6f1f : 0000:06:00.0  7000-7fff : PCI Bus 0000:05    7f00-7f1f : 0000:05:00.0  8000-8fff : PCI Bus 0000:04    8f00-8f1f : 0000:04:00.0  9000-afff : PCI Bus 0000:01    9000-9fff : PCI Bus 0000:03    a000-afff : PCI Bus 0000:02  b000-bfff : PCI Bus 0000:09    bf00-bf1f : 0000:09:00.0  c000-cfff : PCI Bus 0000:08    cf00-cf1f : 0000:08:00.0  d000-dfff : PCI Bus 0000:07    df00-df1f : 0000:07:00.0  e000-efff : PCI Bus 0000:0a    ee00-ee3f : 0000:0a:09.0      ee00-ee3f : e1000    ef00-ef3f : 0000:0a:07.0      ef00-ef3f : e1000  f500-f50f : 0000:00:1f.2    f500-f50f : ata_piix  f600-f603 : 0000:00:1f.2    f600-f603 : ata_piix  f700-f707 : 0000:00:1f.2    f700-f707 : ata_piix  f800-f803 : 0000:00:1f.2    f800-f803 : ata_piix  f900-f907 : 0000:00:1f.2    f900-f907 : ata_piix  fa00-fa0f : 0000:00:1f.1    fa00-fa0f : piix  fb00-fb1f : 0000:00:1d.3    fb00-fb1f : uhci_hcd  fc00-fc1f : 0000:00:1d.2    fc00-fc1f : uhci_hcd  fd00-fd1f : 0000:00:1d.1    fd00-fd1f : uhci_hcd  fe00-fe1f : 0000:00:1d.0    fe00-fe1f : uhci_hcd  ff00-ff07 : 0000:00:02.0
/proc/iomem:00000000-0000ffff : reserved00010000-0009f3ff : System RAM0009f400-0009ffff : reserved000a0000-000bffff : PCI Bus 0000:00  000a0000-000bffff : Video RAM area000c0000-000dffff : PCI Bus 0000:00  000c0000-000c7fff : Video ROM000e0000-000effff : pnp 00:0c000f0000-000fffff : reserved  000f0000-000fffff : System ROM00100000-1f6dffff : System RAM  01000000-0133efea : Kernel code  0133efeb-0145aeff : Kernel data  014c2000-014eafff : Kernel bss1f6e0000-1f6e2fff : ACPI Non-volatile Storage1f6e3000-1f6effff : ACPI Tables1f6f0000-1f6fffff : reserved1f700000-febfffff : PCI Bus 0000:00  d0000000-dfffffff : 0000:00:02.0  e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]    e0000000-efffffff : reserved      e0000000-efffffff : pnp 00:0b  fcc00000-fcdfffff : PCI Bus 0000:01    fcc00000-fccfffff : PCI Bus 0000:03    fcd00000-fcdfffff : PCI Bus 0000:02  fce00000-fcefffff : PCI Bus 0000:0a    fce00000-fce1ffff : 0000:0a:07.0    fce20000-fce3ffff : 0000:0a:09.0  fcf00000-fcffffff : PCI Bus 0000:0a    fcf80000-fcf9ffff : 0000:0a:09.0      fcf80000-fcf9ffff : e1000    fcfa0000-fcfbffff : 0000:0a:09.0      fcfa0000-fcfbffff : e1000    fcfc0000-fcfdffff : 0000:0a:07.0      fcfc0000-fcfdffff : e1000    fcfe0000-fcffffff : 0000:0a:07.0      fcfe0000-fcffffff : e1000  fd000000-fd2fffff : PCI Bus 0000:01    fd000000-fd0fffff : PCI Bus 0000:02    fd100000-fd1fffff : PCI Bus 0000:03    fd2fe000-fd2fefff : 0000:01:00.3    fd2ff000-fd2fffff : 0000:01:00.1  fd300000-fd3fffff : PCI Bus 0000:09  fd400000-fd4fffff : PCI Bus 0000:09    fd4e0000-fd4fffff : 0000:09:00.0      fd4e0000-fd4fffff : e1000e  fd500000-fd5fffff : PCI Bus 0000:08  fd600000-fd6fffff : PCI Bus 0000:08    fd6e0000-fd6fffff : 0000:08:00.0      fd6e0000-fd6fffff : e1000e  fd700000-fd7fffff : PCI Bus 0000:07  fd800000-fd8fffff : PCI Bus 0000:07    fd8e0000-fd8fffff : 0000:07:00.0      fd8e0000-fd8fffff : e1000e  fd900000-fd9fffff : PCI Bus 0000:06  fda00000-fdafffff : PCI Bus 0000:06    fdae0000-fdafffff : 0000:06:00.0      fdae0000-fdafffff : e1000e  fdb00000-fdbfffff : PCI Bus 0000:05  fdc00000-fdcfffff : PCI Bus 0000:05    fdce0000-fdcfffff : 0000:05:00.0      fdce0000-fdcfffff : e1000e  fdd00000-fddfffff : PCI Bus 0000:04  fde00000-fdefffff : PCI Bus 0000:04    fdee0000-fdefffff : 0000:04:00.0      fdee0000-fdefffff : e1000e  fdf00000-fdf7ffff : 0000:00:02.0  fdf80000-fdfbffff : 0000:00:02.0  fdffe000-fdffe3ff : 0000:00:1f.2  fdfff000-fdfff3ff : 0000:00:1d.7    fdfff000-fdfff3ff : ehci_hcdfec00000-ffffffff : reserved  fec00000-fec003ff : IOAPIC 0  fee00000-feefffff : pnp 00:0c    fee00000-fee00fff : Local APIC  ffb00000-ffb7ffff : pnp 00:0c  fff00000-ffffffff : pnp 00:0c
8.500:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)        Subsystem: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-        Latency: 0        Capabilities: [e0] Vendor Specific Information <?>
00:01.0 PCI bridge: Intel Corporation 82945G/GZ/P/PL PCI Express Root Port (rev 02) (prog-if 00 [Normal decode])        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Bus: primary=00, secondary=01, subordinate=03, sec-latency=0        I/O behind bridge: 00009000-0000afff        Memory behind bridge: fd000000-fd2fffff        Prefetchable memory behind bridge: 00000000fcc00000-00000000fcdfffff        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-        Capabilities: [88] Subsystem: Intel Corporation Device 0000        Capabilities: [80] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable+                Address: fee0300c  Data: 4159        Capabilities: [a0] Express (v1) Root Port (Slot+), MSI 00                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us                        ExtTag- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-                        MaxPayload 128 bytes, MaxReadReq 128 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-                LnkCap: Port #2, Speed 2.5GT/s, Width x16, ASPM L0s, Latency L0 <1us, L1 <4us                        ClockPM- Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-                SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surpise-                        Slot # 21, PowerLimit 10.000000; Interlock- NoCompl-                SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-                        Control: AttnInd Off, PwrInd On, Power- Interlock-                SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-                        Changed: MRL- PresDet+ LinkState-                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-                RootCap: CRSVisible-                RootSta: PME ReqID 0000, PMEStatus- PMEPending-        Capabilities: [100] Virtual Channel <?>        Capabilities: [140] Root Complex Link <?>        Kernel driver in use: pcieport
00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])        Subsystem: Intel Corporation 82945G/GZ Integrated Graphics Controller        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Interrupt: pin A routed to IRQ 5        Region 0: Memory at fdf00000 (32-bit, non-prefetchable) [size=512K]        Region 1: I/O ports at ff00 [size=8]        Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M]        Region 3: Memory at fdf80000 (32-bit, non-prefetchable) [size=256K]        Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable-                Address: 00000000  Data: 0000        Capabilities: [d0] Power Management version 2                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01) (prog-if 00 [Normal decode])        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Bus: primary=00, secondary=04, subordinate=04, sec-latency=0        I/O behind bridge: 00008000-00008fff        Memory behind bridge: fde00000-fdefffff        Prefetchable memory behind bridge: 00000000fdd00000-00000000fddfffff        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-        Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited                        ExtTag- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal+ Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-                        MaxPayload 128 bytes, MaxReadReq 128 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-                LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <256ns, L1 <4us                        ClockPM- Suprise- LLActRep+ BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-                SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surpise+                        Slot # 10, PowerLimit 10.000000; Interlock- NoCompl-                SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-                        Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-                SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-                        Changed: MRL- PresDet+ LinkState+                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+ PMEIntEna- CRSVisible-                RootCap: CRSVisible-                RootSta: PME ReqID 0000, PMEStatus- PMEPending-        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable+                Address: fee0300c  Data: 4161        Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1        Capabilities: [a0] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Capabilities: [100] Virtual Channel <?>        Capabilities: [180] Root Complex Link <?>        Kernel driver in use: pcieport
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01) (prog-if 00 [Normal decode])        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Bus: primary=00, secondary=05, subordinate=05, sec-latency=0        I/O behind bridge: 00007000-00007fff        Memory behind bridge: fdc00000-fdcfffff        Prefetchable memory behind bridge: 00000000fdb00000-00000000fdbfffff        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-        Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited                        ExtTag- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal+ Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-                        MaxPayload 128 bytes, MaxReadReq 128 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-                LnkCap: Port #2, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <256ns, L1 <4us                        ClockPM- Suprise- LLActRep+ BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-                SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surpise+                        Slot # 11, PowerLimit 10.000000; Interlock- NoCompl-                SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-                        Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-                SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-                        Changed: MRL- PresDet+ LinkState+                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+ PMEIntEna- CRSVisible-                RootCap: CRSVisible-                RootSta: PME ReqID 0000, PMEStatus- PMEPending-        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable+                Address: fee0300c  Data: 4169        Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2        Capabilities: [a0] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Capabilities: [100] Virtual Channel <?>        Capabilities: [180] Root Complex Link <?>        Kernel driver in use: pcieport
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 01) (prog-if 00 [Normal decode])        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Bus: primary=00, secondary=06, subordinate=06, sec-latency=0        I/O behind bridge: 00006000-00006fff        Memory behind bridge: fda00000-fdafffff        Prefetchable memory behind bridge: 00000000fd900000-00000000fd9fffff        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-        Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited                        ExtTag- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal+ Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-                        MaxPayload 128 bytes, MaxReadReq 128 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-                LnkCap: Port #3, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <256ns, L1 <4us                        ClockPM- Suprise- LLActRep+ BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-                SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surpise+                        Slot # 12, PowerLimit 10.000000; Interlock- NoCompl-                SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-                        Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-                SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-                        Changed: MRL- PresDet+ LinkState+                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+ PMEIntEna- CRSVisible-                RootCap: CRSVisible-                RootSta: PME ReqID 0000, PMEStatus- PMEPending-        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable+                Address: fee0300c  Data: 4171        Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3        Capabilities: [a0] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Capabilities: [100] Virtual Channel <?>        Capabilities: [180] Root Complex Link <?>        Kernel driver in use: pcieport
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01) (prog-if 00 [Normal decode])        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Bus: primary=00, secondary=07, subordinate=07, sec-latency=0        I/O behind bridge: 0000d000-0000dfff        Memory behind bridge: fd800000-fd8fffff        Prefetchable memory behind bridge: 00000000fd700000-00000000fd7fffff        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-        Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited                        ExtTag- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal+ Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-                        MaxPayload 128 bytes, MaxReadReq 128 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-                LnkCap: Port #4, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <256ns, L1 <4us                        ClockPM- Suprise- LLActRep+ BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-                SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surpise+                        Slot # 13, PowerLimit 10.000000; Interlock- NoCompl-                SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-                        Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-                SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-                        Changed: MRL- PresDet+ LinkState+                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+ PMEIntEna- CRSVisible-                RootCap: CRSVisible-                RootSta: PME ReqID 0000, PMEStatus- PMEPending-        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable+                Address: fee0300c  Data: 4179        Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4        Capabilities: [a0] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Capabilities: [100] Virtual Channel <?>        Capabilities: [180] Root Complex Link <?>        Kernel driver in use: pcieport
00:1c.4 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 (rev 01) (prog-if 00 [Normal decode])        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Bus: primary=00, secondary=08, subordinate=08, sec-latency=0        I/O behind bridge: 0000c000-0000cfff        Memory behind bridge: fd600000-fd6fffff        Prefetchable memory behind bridge: 00000000fd500000-00000000fd5fffff        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-        Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited                        ExtTag- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal+ Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-                        MaxPayload 128 bytes, MaxReadReq 128 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-                LnkCap: Port #5, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <256ns, L1 <4us                        ClockPM- Suprise- LLActRep+ BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-                SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surpise+                        Slot # 14, PowerLimit 10.000000; Interlock- NoCompl-                SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-                        Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-                SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-                        Changed: MRL- PresDet+ LinkState+                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+ PMEIntEna- CRSVisible-                RootCap: CRSVisible-                RootSta: PME ReqID 0000, PMEStatus- PMEPending-        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable+                Address: fee0300c  Data: 4181        Capabilities: [90] Subsystem: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express Port 5        Capabilities: [a0] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Capabilities: [100] Virtual Channel <?>        Capabilities: [180] Root Complex Link <?>        Kernel driver in use: pcieport
00:1c.5 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 (rev 01) (prog-if 00 [Normal decode])        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Bus: primary=00, secondary=09, subordinate=09, sec-latency=0        I/O behind bridge: 0000b000-0000bfff        Memory behind bridge: fd400000-fd4fffff        Prefetchable memory behind bridge: 00000000fd300000-00000000fd3fffff        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-        Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited                        ExtTag- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal+ Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-                        MaxPayload 128 bytes, MaxReadReq 128 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-                LnkCap: Port #6, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <256ns, L1 <4us                        ClockPM- Suprise- LLActRep+ BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-                SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surpise+                        Slot # 15, PowerLimit 10.000000; Interlock- NoCompl-                SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-                        Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-                SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-                        Changed: MRL- PresDet+ LinkState+                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+ PMEIntEna- CRSVisible-                RootCap: CRSVisible-                RootSta: PME ReqID 0000, PMEStatus- PMEPending-        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable+                Address: fee0300c  Data: 4189        Capabilities: [90] Subsystem: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express Port 6        Capabilities: [a0] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Capabilities: [100] Virtual Channel <?>        Capabilities: [180] Root Complex Link <?>        Kernel driver in use: pcieport
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01) (prog-if 00 [UHCI])        Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Interrupt: pin A routed to IRQ 23        Region 4: I/O ports at fe00 [size=32]        Kernel driver in use: uhci_hcd        Kernel modules: uhci-hcd
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01) (prog-if 00 [UHCI])        Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Interrupt: pin B routed to IRQ 19        Region 4: I/O ports at fd00 [size=32]        Kernel driver in use: uhci_hcd        Kernel modules: uhci-hcd
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01) (prog-if 00 [UHCI])        Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Interrupt: pin C routed to IRQ 18        Region 4: I/O ports at fc00 [size=32]        Kernel driver in use: uhci_hcd        Kernel modules: uhci-hcd
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01) (prog-if 00 [UHCI])        Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Interrupt: pin D routed to IRQ 16        Region 4: I/O ports at fb00 [size=32]        Kernel driver in use: uhci_hcd        Kernel modules: uhci-hcd
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01) (prog-if 20 [EHCI])        Subsystem: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Interrupt: pin A routed to IRQ 23        Region 0: Memory at fdfff000 (32-bit, non-prefetchable) [size=1K]        Capabilities: [50] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Capabilities: [58] Debug port: BAR=1 offset=00a0        Kernel driver in use: ehci_hcd        Kernel modules: ehci-hcd
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) (prog-if 01 [Subtractive decode])        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Bus: primary=00, secondary=0a, subordinate=0a, sec-latency=32        I/O behind bridge: 0000e000-0000efff        Memory behind bridge: fcf00000-fcffffff        Prefetchable memory behind bridge: 00000000fce00000-00000000fcefffff        Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-        Capabilities: [50] Subsystem: Intel Corporation 82801 PCI Bridge
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)        Subsystem: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Capabilities: [e0] Vendor Specific Information <?>
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01) (prog-if 8a [Master SecP PriP])        Subsystem: Intel Corporation 82801G (ICH7 Family) IDE Controller        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+        Latency: 0        Interrupt: pin A routed to IRQ 18        Region 0: I/O ports at 01f0 [size=8]        Region 1: I/O ports at 03f4 [size=1]        Region 2: I/O ports at 0170 [size=8]        Region 3: I/O ports at 0374 [size=1]        Region 4: I/O ports at fa00 [size=16]        Kernel driver in use: PIIX_IDE        Kernel modules: ata_piix
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01) (prog-if 8f [Master SecP SecO PriP PriO])        Subsystem: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Interrupt: pin B routed to IRQ 19        Region 0: I/O ports at f900 [size=8]        Region 1: I/O ports at f800 [size=4]        Region 2: I/O ports at f700 [size=8]        Region 3: I/O ports at f600 [size=4]        Region 4: I/O ports at f500 [size=16]        Region 5: Memory at fdffe000 (32-bit, non-prefetchable) [size=1K]        Capabilities: [70] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Kernel driver in use: ata_piix        Kernel modules: ata_piix
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)        Subsystem: Intel Corporation 82801G (ICH7 Family) SMBus Controller        Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Interrupt: pin B routed to IRQ 19        Region 4: I/O ports at 0500 [size=32]        Kernel driver in use: i801_smbus        Kernel modules: i2c-i801
01:00.0 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI Bridge A (rev 09) (prog-if 00 [Normal decode])        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Bus: primary=01, secondary=02, subordinate=02, sec-latency=64        I/O behind bridge: 0000a000-0000afff        Memory behind bridge: fd000000-fd0fffff        Prefetchable memory behind bridge: 00000000fcd00000-00000000fcdfffff        Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-        Capabilities: [44] Express (v1) PCI/PCI-X Bridge, MSI 00                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- BrConfRtry-                        MaxPayload 128 bytes, MaxReadReq 512 bytes                DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-                LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s, Latency L0 unlimited, L1 unlimited                        ClockPM- Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-        Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable-                Address: 0000000000000000  Data: 0000        Capabilities: [6c] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Capabilities: [d8] PCI-X bridge device                Secondary Status: 64bit+ 133MHz+ SCD- USC- SCO- SRD- Freq=66MHz                Status: Dev=01:00.0 64bit- 133MHz- SCD- USC- SCO- SRD-                Upstream: Capacity=65535 CommitmentLimit=65535                Downstream: Capacity=65535 CommitmentLimit=65535        Capabilities: [100] Advanced Error Reporting                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSVoil-                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UESvrt: DLP+ SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                CESta:  RxErr+ BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                AERCap: First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn-        Capabilities: [300] Power Budgeting <?>
01:00.1 PIC: Intel Corporation 6700/6702PXH I/OxAPIC Interrupt Controller A (rev 09) (prog-if 20 [IO(X)-APIC])        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Region 0: Memory at fd2ff000 (32-bit, non-prefetchable) [size=4K]        Capabilities: [44] Express (v1) Endpoint, MSI 00                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-                        MaxPayload 128 bytes, MaxReadReq 128 bytes                DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-                LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s, Latency L0 unlimited, L1 unlimited                        ClockPM- Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-        Capabilities: [6c] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
01:00.2 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI Bridge B (rev 09) (prog-if 00 [Normal decode])        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Bus: primary=01, secondary=03, subordinate=03, sec-latency=64        I/O behind bridge: 00009000-00009fff        Memory behind bridge: fd100000-fd1fffff        Prefetchable memory behind bridge: 00000000fcc00000-00000000fccfffff        Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-        Capabilities: [44] Express (v1) PCI/PCI-X Bridge, MSI 00                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- BrConfRtry-                        MaxPayload 128 bytes, MaxReadReq 512 bytes                DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-                LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s, Latency L0 unlimited, L1 unlimited                        ClockPM- Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-        Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable-                Address: 0000000000000000  Data: 0000        Capabilities: [6c] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-        Capabilities: [d8] PCI-X bridge device                Secondary Status: 64bit+ 133MHz+ SCD- USC- SCO- SRD- Freq=66MHz                Status: Dev=01:00.2 64bit- 133MHz- SCD- USC- SCO- SRD-                Upstream: Capacity=65535 CommitmentLimit=65535                Downstream: Capacity=65535 CommitmentLimit=65535        Capabilities: [100] Advanced Error Reporting                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSVoil-                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UESvrt: DLP+ SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                AERCap: First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn-        Capabilities: [300] Power Budgeting <?>
01:00.3 PIC: Intel Corporation 6700PXH I/OxAPIC Interrupt Controller B (rev 09) (prog-if 20 [IO(X)-APIC])        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0        Region 0: Memory at fd2fe000 (32-bit, non-prefetchable) [size=4K]        Capabilities: [44] Express (v1) Endpoint, MSI 00                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-                        MaxPayload 128 bytes, MaxReadReq 128 bytes                DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-                LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s, Latency L0 unlimited, L1 unlimited                        ClockPM- Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-        Capabilities: [6c] Power Management version 2                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
04:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller        Subsystem: Intel Corporation Device 0000        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Interrupt: pin A routed to IRQ 47        Region 0: Memory at fdee0000 (32-bit, non-prefetchable) [size=128K]        Region 2: I/O ports at 8f00 [size=32]        Capabilities: [c8] Power Management version 2                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)                Status: D0 PME-Enable- DSel=0 DScale=1 PME-        Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+                Address: 00000000fee0300c  Data: 41d1        Capabilities: [e0] Express (v1) Endpoint, MSI 00                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-                DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+                        MaxPayload 128 bytes, MaxReadReq 512 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM unknown, Latency L0 <128ns, L1 <64us                        ClockPM+ Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-        Capabilities: [100] Advanced Error Reporting                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-        Capabilities: [140] Device Serial Number 10-c3-17-ff-ff-f3-10-00        Kernel driver in use: e1000e        Kernel modules: e1000e
05:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller        Subsystem: Intel Corporation Device 0000        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Interrupt: pin A routed to IRQ 48        Region 0: Memory at fdce0000 (32-bit, non-prefetchable) [size=128K]        Region 2: I/O ports at 7f00 [size=32]        Capabilities: [c8] Power Management version 2                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)                Status: D0 PME-Enable- DSel=0 DScale=1 PME-        Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+                Address: 00000000fee0300c  Data: 41e1        Capabilities: [e0] Express (v1) Endpoint, MSI 00                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-                DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+                        MaxPayload 128 bytes, MaxReadReq 512 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM unknown, Latency L0 <128ns, L1 <64us                        ClockPM+ Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-        Capabilities: [100] Advanced Error Reporting                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-        Capabilities: [140] Device Serial Number 11-c3-17-ff-ff-f3-10-00        Kernel driver in use: e1000e        Kernel modules: e1000e
06:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller        Subsystem: Intel Corporation Device 0000        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Interrupt: pin A routed to IRQ 49        Region 0: Memory at fdae0000 (32-bit, non-prefetchable) [size=128K]        Region 2: I/O ports at 6f00 [size=32]        Capabilities: [c8] Power Management version 2                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)                Status: D0 PME-Enable- DSel=0 DScale=1 PME-        Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+                Address: 00000000fee0300c  Data: 412a        Capabilities: [e0] Express (v1) Endpoint, MSI 00                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-                DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+                        MaxPayload 128 bytes, MaxReadReq 512 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM unknown, Latency L0 <128ns, L1 <64us                        ClockPM+ Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-        Capabilities: [100] Advanced Error Reporting                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-        Capabilities: [140] Device Serial Number 12-c3-17-ff-ff-f3-10-00        Kernel driver in use: e1000e        Kernel modules: e1000e
07:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller        Subsystem: Intel Corporation Device 0000        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Interrupt: pin A routed to IRQ 50        Region 0: Memory at fd8e0000 (32-bit, non-prefetchable) [size=128K]        Region 2: I/O ports at df00 [size=32]        Capabilities: [c8] Power Management version 2                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)                Status: D0 PME-Enable- DSel=0 DScale=1 PME-        Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+                Address: 00000000fee0300c  Data: 414a        Capabilities: [e0] Express (v1) Endpoint, MSI 00                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-                DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+                        MaxPayload 128 bytes, MaxReadReq 512 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM unknown, Latency L0 <128ns, L1 <64us                        ClockPM+ Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-        Capabilities: [100] Advanced Error Reporting                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-        Capabilities: [140] Device Serial Number 13-c3-17-ff-ff-f3-10-00        Kernel driver in use: e1000e        Kernel modules: e1000e
08:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller        Subsystem: Intel Corporation Device 0000        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Interrupt: pin A routed to IRQ 51        Region 0: Memory at fd6e0000 (32-bit, non-prefetchable) [size=128K]        Region 2: I/O ports at cf00 [size=32]        Capabilities: [c8] Power Management version 2                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)                Status: D0 PME-Enable- DSel=0 DScale=1 PME-        Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+                Address: 00000000fee0300c  Data: 41b1        Capabilities: [e0] Express (v1) Endpoint, MSI 00                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-                DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+                        MaxPayload 128 bytes, MaxReadReq 512 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM unknown, Latency L0 <128ns, L1 <64us                        ClockPM+ Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-        Capabilities: [100] Advanced Error Reporting                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-        Capabilities: [140] Device Serial Number 54-c6-17-ff-ff-f3-10-00        Kernel driver in use: e1000e        Kernel modules: e1000e
09:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller        Subsystem: Intel Corporation Device 0000        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 0, Cache Line Size: 64 bytes        Interrupt: pin A routed to IRQ 52        Region 0: Memory at fd4e0000 (32-bit, non-prefetchable) [size=128K]        Region 2: I/O ports at bf00 [size=32]        Capabilities: [c8] Power Management version 2                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)                Status: D0 PME-Enable- DSel=0 DScale=1 PME-        Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+                Address: 00000000fee0300c  Data: 41b9        Capabilities: [e0] Express (v1) Endpoint, MSI 00                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-                DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+                        MaxPayload 128 bytes, MaxReadReq 512 bytes                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM unknown, Latency L0 <128ns, L1 <64us                        ClockPM+ Suprise- LLActRep- BwNot-                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-        Capabilities: [100] Advanced Error Reporting                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-                UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-                AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-        Capabilities: [140] Device Serial Number 55-c6-17-ff-ff-f3-10-00        Kernel driver in use: e1000e        Kernel modules: e1000e
0a:07.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)        Subsystem: Intel Corporation PRO/1000 MT Network Connection        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 252 (63750ns min), Cache Line Size: 64 bytes        Interrupt: pin A routed to IRQ 17        Region 0: Memory at fcfe0000 (32-bit, non-prefetchable) [size=128K]        Region 1: Memory at fcfc0000 (32-bit, non-prefetchable) [size=128K]        Region 2: I/O ports at ef00 [size=64]        [virtual] Expansion ROM at fce00000 [disabled] [size=128K]        Capabilities: [dc] Power Management version 2                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=1 PME-        Capabilities: [e4] PCI-X non-bridge device                Command: DPERE- ERO+ RBC=512 OST=1                Status: Dev=00:00.0 64bit- 133MHz- SCD- USC- DC=simple DMMRBC=2048 DMOST=1 DMCRS=8 RSCEM- 266MHz- 533MHz-        Kernel driver in use: e1000        Kernel modules: e1000
0a:09.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)        Subsystem: Intel Corporation PRO/1000 MT Network Connection        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-        Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-        Latency: 252 (63750ns min), Cache Line Size: 64 bytes        Interrupt: pin A routed to IRQ 19        Region 0: Memory at fcfa0000 (32-bit, non-prefetchable) [size=128K]        Region 1: Memory at fcf80000 (32-bit, non-prefetchable) [size=128K]        Region 2: I/O ports at ee00 [size=64]        [virtual] Expansion ROM at fce20000 [disabled] [size=128K]        Capabilities: [dc] Power Management version 2                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)                Status: D0 PME-Enable- DSel=0 DScale=1 PME-        Capabilities: [e4] PCI-X non-bridge device                Command: DPERE- ERO+ RBC=512 OST=1                Status: Dev=00:00.0 64bit- 133MHz- SCD- USC- DC=simple DMMRBC=2048 DMOST=1 DMCRS=8 RSCEM- 266MHz- 533MHz-        Kernel driver in use: e1000        Kernel modules: e1000
8.6/proc/scsi/scsi:Attached devices:Host: scsi1 Channel: 00 Id: 00 Lun: 00  Vendor: ATA      Model: ST380815AS       Rev: 4.AA  Type:   Direct-Access                    ANSI  SCSI revision: 05
8.7Unfortunately I am only able to reproduce the error on the following hardware:Nexcom NSA-1068N7 (http://www.omtec.de/network-security-appliances/nsa-1086n7/
This is the ospfd.conf:hostname chgut11fw01log syslog
interface gAAchgut1        ip ospf network point-to-point        ip ospf authentication-key hallowel        ip ospf cost 15        ip ospf hello-interval 2        ip ospf dead-interval 10
interface eth0interface eth1interface eth2interface eth3interface lo
router ospf        ospf router-id 172.16.111.1        auto-cost reference-bandwidth 1        redistribute kernel route-map mynet        no ospf rfc1583compatibility        passive-interface eth0        passive-interface eth1        passive-interface eth2        passive-interface eth3        network 10.254.11.1/32 area 0        network 10.254.1.11/32 area 0        network 172.16.111.0/24 area 0
access-list 99 permit 172.16.111.0 0.0.0.255access-list 99 deny anyroute-map mynet permit 10        match ip address 99line vty
Please let me know if I forgot something to add.
Thanks for any help.
Best regardsElmar Vonlanthen 		 	   		  

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
       [not found] <CA+0Zf5C1B67f7RSiEej86rGFC1Ms9vH-qmk1wN1phtskfq2vEA@mail.gmail.com>
@ 2011-10-13 13:35 ` Elmar Vonlanthen
  2011-10-13 13:54 ` Elmar Vonlanthen
  1 sibling, 0 replies; 35+ messages in thread
From: Elmar Vonlanthen @ 2011-10-13 13:35 UTC (permalink / raw)
  To: davem; +Cc: linux-kernel

Hello Mr Miller (and all other readers)

I'm sorry for the previous horrible post. The webmail client of
hotmail did remove a lot of newlines. So here is the hopefully
readable mail again from my gmail Account.

According to the maintainer list and the document "REPORTING-BUGS" I
should send this report to you. Please excuse me, if you are the wrong
person to receive this mail.

1. PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops

2.
I have a setup with two gateways connected with ipsec and gre tunnels.
They do ospf routing.

This is the setup I have:
[ host chgut11fw01 ]
================================================== [ host chgut1fw01 ]

    (dev gAAchgut1) 10.254.11.1 ---------gre/ospf--------- 10.254.1.11
(dev gAAchgut11)
                      V                                      V
         (dev eth1) 10.10.111.4 -----strongswan/ipsec----- 10.10.101.4
(dev eth1)

Sometimes, if the process ospfd (package quagga) is trying to send a
multicast packet with the system call "sendmsg" a kernel oops happens.
When I add and remove the GRE interface in a loop the oops happens
normally after some seconds or two, three minutes (this is the way I
can reproduce the problem).

But the problem happens only on host chgut11fw01 (See hardware details
below). On host chgut1fw01 I'm not able to reproduce it!

It is the call sendmsg() in ospf_packet.c line 737 (quagga-0.99.20
source) which causes the problem. It tries to send a packet of length
16384 to 224.0.0.5 over device gAAchgut1 as soon as the device is
added to the multcast group.

3. Keywords: networking, kernel

4.1 Kernel Version: Linux version 3.0.4-SMP (root@whiskey) (gcc
version 4.4.4 (Gentoo 4.4.4-r2 p1.3, pie-0.4.5) ) #1 SMP Thu Oct 6
16:24:22 CEST 2011

4.2 Kernel Config: If necessary, I can post the enabled configuration options.

5. Kernel Version which doesn't have the bug: None

6. Kernel oops message

I saw too late, that my kernel 3.0.4 is "tainted". I don't know why,
because the kernel 2.6.35.10 which I use as well is not. The only
thing I did was to add the "aufs" patch, but on both kernel versions
(is that the reason?). Below you find a oops with the not tainted
kernel 2.6.35.10.

2011-10-10 09:32:08 chgut11fw01 kernel: skb_over_panic: text:c1305749
len:64 put:64 head:c7ea6a00 data:c7ea6a50 tail:0xc7ea6a90
end:0xc7ea6a80 dev:<NULL>
2011-10-10 09:32:08 chgut11fw01 kernel: ------------[ cut here ]------------
2011-10-10 09:32:09 chgut11fw01 kernel: kernel BUG at net/core/skbuff.c:128!
2011-10-10 09:32:09 chgut11fw01 kernel: invalid opcode: 0000 [#40] SMP
2011-10-10 09:32:09 chgut11fw01 kernel: Modules linked in:
nf_conntrack_netlink nfnetlink ip_gre gre authenc xfrm4_mode_transport
deflate zlib_deflate ctr twofish_generic twofish_common serpent cryptd
aes_i5
86 aes_generic blowfish cast5 cbc ecb rmd160 sha512_generic
sha256_generic sha1_generic xfrm_user xfrm4_tunnel tunnel4 ipcomp
xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG xt_limit ipt_REJECT xt_state
ipt_REDIRECT
 ipt_MASQUERADE xt_policy xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK
iptable_filter iptable_nat xt_mark xt_connmark iptable_mangle
iptable_raw ip_tables x_tables nf_conntrack_tftp nf_nat_ftp nf_nat
nf_conntrac
k_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack rtc ppdev
parport_pc parport w83792d i2c_dev i2c_i801 i2c_core pl2303 usbserial
coretemp hwmon usbhid ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e
aufs
ata_piix libata
2011-10-10 09:32:09 chgut11fw01 kernel:
2011-10-10 09:32:09 chgut11fw01 kernel: Pid: 17011, comm: ospfd
Tainted: G      D     3.0.4-SMP #1    /LakePort
2011-10-10 09:32:09 chgut11fw01 kernel: EIP: 0060:[<c12b6575>] EFLAGS:
00210296 CPU: 0
2011-10-10 09:32:09 chgut11fw01 kernel: EIP is at skb_put+0x85/0x90
2011-10-10 09:32:09 chgut11fw01 kernel: EAX: 00000078 EBX: c1305749
ECX: 00200082 EDX: ffffff8b
2011-10-10 09:32:09 chgut11fw01 kernel: ESI: dd6420c0 EDI: 00000040
EBP: d7d23c7c ESP: d7d23c54
2011-10-10 09:32:09 chgut11fw01 kernel: DS: 007b ES: 007b FS: 00d8 GS:
0033 SS: 0068
2011-10-10 09:32:09 chgut11fw01 kernel: Process ospfd (pid: 17011,
ti=d7d22000 task=de908a90 task.ti=d7d22000)
2011-10-10 09:32:09 chgut11fw01 kernel: Stack:
2011-10-10 09:32:09 chgut11fw01 kernel: c13fd19c c1305749 00000040
00000040 c7ea6a00 c7ea6a50 c7ea6a90 c7ea6a80
2011-10-10 09:32:09 chgut11fw01 kernel: c13fb224 d83d90c0 d7d23d34
c1305749 d7d23d20 02916cfd 4c9e613e 00000001
2011-10-10 09:32:09 chgut11fw01 kernel: 00000001 d7d23ce4 d7d23cc8
00000000 0000e8d5 d7d23ecc caddb300 c7ea6a50
2011-10-10 09:32:09 chgut11fw01 kernel: Call Trace:
2011-10-10 09:32:09 chgut11fw01 kernel: [<c1305749>] ? raw_sendmsg+0x5a9/0x850
2011-10-10 09:32:09 chgut11fw01 kernel: [<c1305749>] raw_sendmsg+0x5a9/0x850
2011-10-10 09:32:09 chgut11fw01 kernel: [<c1305749>] raw_sendmsg+0x5a9/0x850
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12ccebd>] ? __rtnl_unlock+0xd/0x10
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12c06bd>] ?
netdev_run_todo+0x3d/0x220
2011-10-10 09:32:09 chgut11fw01 kernel: [<c133d400>] ?
_raw_read_lock_irq+0x20/0x20
2011-10-10 09:32:09 chgut11fw01 kernel: [<c130efa2>] inet_sendmsg+0x42/0xa0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12ea0e5>] ?
do_ip_setsockopt+0x75/0xbe0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c10213e7>] ?
__wake_up_sync_key+0x47/0x60
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12af947>] sock_sendmsg+0xa7/0xd0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b5df9>] ? skb_queue_tail+0x39/0x50
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12af947>] ? sock_sendmsg+0xa7/0xd0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b8be3>] ? verify_iovec+0x53/0xb0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b0640>] __sys_sendmsg+0x2f0/0x300
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12af9de>] ?
sockfd_lookup_light+0x1e/0x70
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b003a>] ? sys_sendto+0xaa/0xe0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c1047d65>] ?
sched_clock_local+0xa5/0x180
2011-10-10 09:32:09 chgut11fw01 kernel: [<c102f898>] ? nsecs_to_jiffies+0x8/0x10
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12eac91>] ? ip_setsockopt+0x41/0xa0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b0796>] sys_sendmsg+0x36/0x60
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b13c9>] sys_socketcall+0xe9/0x280
2011-10-10 09:32:09 chgut11fw01 kernel: [<c133d6a5>] syscall_call+0x7/0xb
2011-10-10 09:32:09 chgut11fw01 kernel: [<c1330000>] ?
packet_recvmsg+0x410/0x440
2011-10-10 09:32:09 chgut11fw01 kernel: Code: 00 00 89 4c 24 14 8b 88
a4 00 00 00 89 54 24 0c 89 4c 24 10 8b 40 50 89 5c 24 04 c7 04 24 9c
d1 3f c1 89 44 24 08 e8 dc 4b 08 00 <0f> 0b eb fe b9 24 b2 3f c1 eb ae
55 89 e5 57 56 89 d6 53 89 c3
2011-10-10 09:32:09 chgut11fw01 kernel: EIP: [<c12b6575>]
skb_put+0x85/0x90 SS:ESP 0068:d7d23c54
2011-10-10 09:32:09 chgut11fw01 kernel: ---[ end trace 88d35f34d6a6da4a ]---

Oops from "not-tainted" Kernel:
2011-10-05 14:32:59 chgut11fw01 kernel: skb_over_panic: text:c12c3067
len:64 put:64 head:d920b800 data:d920b850 tail:0xd920b890
end:0xd920b880 dev:<NULL>
2011-10-05 14:32:59 chgut11fw01 kernel: ------------[ cut here ]------------
2011-10-05 14:32:59 chgut11fw01 kernel: kernel BUG at net/core/skbuff.c:127!
2011-10-05 14:32:59 chgut11fw01 kernel: invalid opcode: 0000 [#1] SMP
2011-10-05 14:32:59 chgut11fw01 kernel: last sysfs file:
/sys/devices/pci0000:00/0000:00:1f.3/i2c-0/0-002d/chassis
2011-10-05 14:33:00 chgut11fw01 kernel: Modules linked in: ip_gre
authenc xfrm4_mode_transport deflate zlib_deflate ctr twofish
twofish_common serpent aes_i586 aes_generic blowfish cast5 cbc ecb
rmd160 sha512_generic sha256_generic sha1_generic xfrm_user
xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG
xt_limit ipt_REJECT xt_state ipt_REDIRECT ipt_MASQUERADE xt_policy
xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK iptable_filter iptable_nat
xt_mark xt_connmark iptable_mangle iptable_raw ip_tables x_tables
nf_conntrack_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4
nf_conntrack_ftp nf_conntrack ppdev parport_pc parport w83792d i2c_dev
i2c_i801 i2c_core pl2303 coretemp hwmon usbhid option usb_wwan
usbserial ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e aufs
ata_piix libata
2011-10-05 14:33:00 chgut11fw01 kernel:
2011-10-05 14:33:00 chgut11fw01 kernel: Pid: 6119, comm: ospfd Not
tainted 2.6.35.10-DEBUG #1 LakePort/
2011-10-05 14:33:00 chgut11fw01 kernel: EIP: 0060:[<c1277595>] EFLAGS:
00010282 CPU: 1
2011-10-05 14:33:00 chgut11fw01 kernel: EIP is at skb_put+0x85/0x90
2011-10-05 14:33:00 chgut11fw01 kernel: EAX: 00000078 EBX: c12c3067
ECX: 00000086 EDX: 00985000
2011-10-05 14:33:00 chgut11fw01 kernel: ESI: d9044bc0 EDI: 00000040
EBP: d78e7c84 ESP: d78e7c5c
2011-10-05 14:33:00 chgut11fw01 kernel: DS: 007b ES: 007b FS: 00d8 GS:
0033 SS: 0068
2011-10-05 14:33:00 chgut11fw01 kernel: Process ospfd (pid: 6119,
ti=d78e6000 task=decd3170 task.ti=d78e6000)
2011-10-05 14:33:00 chgut11fw01 kernel: Stack:
2011-10-05 14:33:00 chgut11fw01 kernel: c13b936c c12c3067 00000040
00000040 d920b800 d920b850 d920b890 d920b880
2011-10-05 14:33:00 chgut11fw01 kernel: <0> c1391cb4 dbc733c0 d78e7cb8
c12c3067 d78e7ca8 d78e7cf8 d78e7d44 c14dab80
2011-10-05 14:33:00 chgut11fw01 kernel: <0> d78e7ee0 d920b850 db755080
00000001 d78e7f40 db755080 00000000 d78e7d54
2011-10-05 14:33:00 chgut11fw01 kernel: Call Trace:
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12c3067>] ?
raw_send_hdrinc+0xd7/0x2e0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12c3067>] ?
raw_send_hdrinc+0xd7/0x2e0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12c36c9>] ? raw_sendmsg+0x459/0x4b0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c128b900>] ?
__rtnl_kill_links+0x40/0x70
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12a8800>] ? ip_ra_control+0xc0/0x130
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12cc0df>] ? inet_sendmsg+0x3f/0xa0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c1270c27>] ? sock_sendmsg+0xa7/0xd0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12e5f56>] ?
unix_stream_sendmsg+0x1e6/0x340
2011-10-05 14:33:00 chgut11fw01 kernel: [<c1021f14>] ? scale_rt_power+0x24/0xb0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c102b128>] ?
find_busiest_group+0x5c8/0x930
2011-10-05 14:33:00 chgut11fw01 kernel: [<c1279bb3>] ? verify_iovec+0x53/0xb0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12710c3>] ? sys_sendmsg+0x113/0x220
2011-10-05 14:33:00 chgut11fw01 kernel: [<c102b50f>] ? load_balance+0x7f/0x550
2011-10-05 14:33:00 chgut11fw01 kernel: [<c10470a5>] ?
sched_clock_local+0xa5/0x180
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12a94a1>] ? ip_setsockopt+0x41/0xa0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12c25dc>] ? raw_setsockopt+0x3c/0x80
2011-10-05 14:33:00 chgut11fw01 kernel: [<c1272b12>] ?
sock_common_setsockopt+0x22/0x30
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12724d6>] ? sys_socketcall+0xd6/0x270
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12f6c25>] ? syscall_call+0x7/0xb
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12f0000>] ?
quirk_vt8235_acpi+0x23/0x8d
2011-10-05 14:33:00 chgut11fw01 kernel: Code: 00 00 89 4c 24 14 8b 88
a4 00 00 00 89 54 24 0c 89 4c 24 10 8b 40 50 89 5c 24 04 c7 04 24 6c
93 3b c1 89 44 24 08 e8 76 d2 07 00 <0f> 0b eb fe b9 b4 1c 39 c1 eb ae
55 89 e5 57 56 53 89 c3 83 ec
2011-10-05 14:33:00 chgut11fw01 kernel: EIP: [<c1277595>]
skb_put+0x85/0x90 SS:ESP 0068:d78e7c5c
2011-10-05 14:33:00 chgut11fw01 kernel: ---[ end trace bc0a60e600586911 ]---

7.
The programms ospfd/zebra (quagga) has to be running with device
gAAchgut1 configured as ospf device. It seems ipsec (strongswan) has
to be running as well, with encrypted transport connection between
10.10.101.4 and 10.10.111.4.

It is ospfd which causes the kernel oops.

The following script triggers ospfd to execute the sendmsg system call:
#!/bin/sh
while true; do
 php -r "
   exec('ip tunnel del gAAchgut1');
   exec('ip tunnel add gAAchgut1 mode gre remote 10.10.101.4 local
10.10.101.4 ttl 255 tos inherit');
   exec('ip link set gAAchgut1 up multicast on mtu 1356');
   exec('ip addr add 10.254.11.1 peer 10.254.1.11/32 dev gAAchgut1');
 "
done

If I execute the commands directly (and not via php), I'm not able to
reproduce the problem. Timing problem?

8.1
Linux chgut11fw01 3.0.4-SMP #1 SMP Thu Oct 6 16:24:22 CEST 2011 i686
Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz GenuineIntel GNU/Linux

Gnu C                  4.4.4
Gnu make               3.81
binutils               2.20.1.20100303
util-linux             2.17.2
mount                  support
module-init-tools      3.4
e2fsprogs              1.41.12
PPP                    2.4.4
Linux C Library        2.11.2
Dynamic linker (ldd)   2.11.2
Linux C++ Library      6.0.13
Procps                 3.2.7
Net-tools              1.60
Kbd                    1.13
Sh-utils               6.10
udev                   124
Modules Loaded         nf_conntrack_netlink nfnetlink ip_gre gre
authenc xfrm4_mode_transport deflate zlib_deflate ctr twofish_generic
twofish_common serpent cryptd aes_i586 aes_generic blowfish cast5 cbc
ecb rmd160 sha512_generic sha256_generic sha1_generic xfrm_user
xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG
xt_limit ipt_REJECT xt_state ipt_REDIRECT ipt_MASQUERADE xt_policy
xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK iptable_filter iptable_nat
xt_mark xt_connmark iptable_mangle iptable_raw ip_tables x_tables
nf_conntrack_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4
nf_conntrack_ftp nf_conntrack rtc ppdev parport_pc parport w83792d
i2c_dev i2c_i801 i2c_core pl2303 usbserial coretemp hwmon usbhid
ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e aufs ata_piix libata

quagga:                0.99.20
strongswan:            4.5.3

I am able to reproduce the problem as well with the following versions:
quagga:                0.99.17, 0.99.18, 0.99.19
strongswan:            4.3.5, 4.5.3
kernel (vanilla):      2.6.35.10, 2.6.35.14

8.2
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     E4600  @ 2.40GHz
stepping        : 13
cpu MHz         : 2400.099
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx
lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor
ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts
bogomips        : 4802.20
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     E4600  @ 2.40GHz
stepping        : 13
cpu MHz         : 2400.099
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx
lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor
ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts
bogomips        : 4801.84
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

8.3
nf_conntrack_netlink 13284 0 - Live 0xe2f13000
nfnetlink 1943 1 nf_conntrack_netlink, Live 0xe2f09000
ip_gre 11012 0 - Live 0xe058e000
gre 1098 1 ip_gre, Live 0xe0584000
authenc 4836 2 - Live 0xe057d000
xfrm4_mode_transport 772 4 - Live 0xe0576000
deflate 1252 0 - Live 0xe0570000
zlib_deflate 17922 1 deflate, Live 0xe0566000
ctr 2308 0 - Live 0xe055c000
twofish_generic 5252 0 - Live 0xe0554000
twofish_common 12453 1 twofish_generic, Live 0xe054a000
serpent 17092 0 - Live 0xe053c000
cryptd 4974 0 - Live 0xe0526000
aes_i586 6787 2 - Live 0xe051d000
aes_generic 25709 1 aes_i586, Live 0xe050e000
blowfish 7012 0 - Live 0xe0500000
cast5 14116 0 - Live 0xe04f5000
cbc 1764 2 - Live 0xe04eb000
ecb 1252 0 - Live 0xe04e5000
rmd160 6052 0 - Live 0xe04de000
sha512_generic 6788 0 - Live 0xe04d6000
sha256_generic 10756 0 - Live 0xe04cc000
sha1_generic 1444 2 - Live 0xe04c3000
xfrm_user 17892 2 - Live 0xe04b9000
xfrm4_tunnel 932 0 - Live 0xe04ad000
tunnel4 1170 1 xfrm4_tunnel, Live 0xe04a7000
ipcomp 1412 0 - Live 0xe04a1000
xfrm_ipcomp 2761 1 ipcomp, Live 0xe049a000
esp4 4804 2 - Live 0xe0492000
ah4 3748 0 - Live 0xe048a000
af_key 19696 0 - Live 0xe047f000
tun 11335 8 - Live 0xe046c000
ipt_LOG 6288 3 - Live 0xe0405000
xt_limit 1000 4 - Live 0xe03fd000
ipt_REJECT 1764 4 - Live 0xe03f7000
xt_state 772 5 - Live 0xe03f0000
ipt_REDIRECT 740 1 - Live 0xe039c000
ipt_MASQUERADE 996 2 - Live 0xe0396000
xt_policy 1956 71 - Live 0xe0390000
xt_TCPMSS 1988 1 - Live 0xe037e000
xt_tcpmss 964 1 - Live 0xe0377000
xt_tcpudp 1604 322 - Live 0xe036b000
xt_NOTRACK 612 5 - Live 0xe0365000
iptable_filter 772 1 - Live 0xe035b000
iptable_nat 2729 1 - Live 0xe0353000
xt_mark 708 6 - Live 0xe034c000
xt_connmark 1124 2 - Live 0xe0346000
iptable_mangle 868 1 - Live 0xe033e000
iptable_raw 676 1 - Live 0xe0336000
ip_tables 8417 4
iptable_filter,iptable_nat,iptable_mangle,iptable_raw, Live 0xe032e000
x_tables 9752 18
ipt_LOG,xt_limit,ipt_REJECT,xt_state,ipt_REDIRECT,ipt_MASQUERADE,xt_policy,xt_TCPMSS,xt_tcpmss,xt_tcpudp,xt_NOTRACK,iptable_filter,iptable_nat,xt_mark,xt_connmark,iptable_mangle,iptable_raw,ip_tables,
Live 0xe0323000
nf_conntrack_tftp 2360 0 - Live 0xe0319000
nf_nat_ftp 1156 0 - Live 0xe0312000
nf_nat 10953 4 ipt_REDIRECT,ipt_MASQUERADE,iptable_nat,nf_nat_ftp,
Live 0xe030a000
nf_conntrack_ipv4 7554 10 iptable_nat,nf_nat, Live 0xe02ff000
nf_defrag_ipv4 778 1 nf_conntrack_ipv4, Live 0xe02f6000
nf_conntrack_ftp 4456 1 nf_nat_ftp, Live 0xe02ef000
nf_conntrack 42655 11
nf_conntrack_netlink,xt_state,ipt_MASQUERADE,xt_NOTRACK,iptable_nat,xt_connmark,nf_conntrack_tftp,nf_nat_ftp,nf_nat,nf_conntrack_ipv4,nf_conntrack_ftp,
Live 0xe02dc000
rtc 6428 0 - Live 0xe027b000
ppdev 4808 2 - Live 0xe0232000
parport_pc 14181 1 - Live 0xe0227000
parport 12657 2 ppdev,parport_pc, Live 0xe0218000
w83792d 12304 0 - Live 0xe020b000
i2c_dev 3857 0 - Live 0xe01be000
i2c_i801 6348 0 - Live 0xe01b5000
i2c_core 13325 3 w83792d,i2c_dev,i2c_i801, Live 0xe01ac000
pl2303 10024 0 - Live 0xe01a1000
usbserial 23695 1 pl2303, Live 0xe016d000
coretemp 3812 0 - Live 0xe013e000
hwmon 1006 2 w83792d,coretemp, Live 0xe0136000
usbhid 19509 0 - Live 0xe012c000
ohci_hcd 15112 0 - Live 0xe00fb000
uhci_hcd 16308 0 - Live 0xe00ba000
ehci_hcd 27576 0 - Live 0xe0077000
usbcore 96694 7 pl2303,usbserial,usbhid,ohci_hcd,uhci_hcd,ehci_hcd,
Live 0xe00a1000
e1000 83270 0 - Live 0xe0061000
e1000e 112509 0 - Live 0xdffd5000
aufs 137864 151 - Live 0xdff89000
ata_piix 10988 5 - Live 0xdff55000
libata 143665 1 ata_piix, Live 0xdff23000

8.4
/proc/ioports:
0000-0cf7 : PCI Bus 0000:00
 0000-001f : dma1
 0020-0021 : pic1
 0040-0043 : timer0
 0050-0053 : timer1
 0060-0060 : keyboard
 0064-0064 : keyboard
 0070-0077 : rtc
 0080-008f : dma page reg
 00a0-00a1 : pic2
 00c0-00df : dma2
 00f0-00ff : fpu
 0170-0177 : 0000:00:1f.1
   0170-0177 : piix
 01f0-01f7 : 0000:00:1f.1
   01f0-01f7 : piix
 0290-029f : pnp 00:01
   0290-0297 : pnp 00:01
 02f8-02ff : serial
 0376-0376 : 0000:00:1f.1
   0376-0376 : piix
 0378-037a : parport0
 03c0-03df : vga+
 03f6-03f6 : 0000:00:1f.1
   03f6-03f6 : piix
 03f8-03ff : serial
 0400-04bf : pnp 00:09
   0400-0403 : ACPI PM1a_EVT_BLK
   0404-0405 : ACPI PM1a_CNT_BLK
   0408-040b : ACPI PM_TMR
   0428-042f : ACPI GPE0_BLK
 04d0-04d1 : pnp 00:01
 0500-051f : 0000:00:1f.3
   0500-051f : i801_smbus
 0800-087f : pnp 00:01
0cf8-0cff : PCI conf1
0d00-ffff : PCI Bus 0000:00
 6000-6fff : PCI Bus 0000:06
   6f00-6f1f : 0000:06:00.0
 7000-7fff : PCI Bus 0000:05
   7f00-7f1f : 0000:05:00.0
 8000-8fff : PCI Bus 0000:04
   8f00-8f1f : 0000:04:00.0
 9000-afff : PCI Bus 0000:01
   9000-9fff : PCI Bus 0000:03
   a000-afff : PCI Bus 0000:02
 b000-bfff : PCI Bus 0000:09
   bf00-bf1f : 0000:09:00.0
 c000-cfff : PCI Bus 0000:08
   cf00-cf1f : 0000:08:00.0
 d000-dfff : PCI Bus 0000:07
   df00-df1f : 0000:07:00.0
 e000-efff : PCI Bus 0000:0a
   ee00-ee3f : 0000:0a:09.0
     ee00-ee3f : e1000
   ef00-ef3f : 0000:0a:07.0
     ef00-ef3f : e1000
 f500-f50f : 0000:00:1f.2
   f500-f50f : ata_piix
 f600-f603 : 0000:00:1f.2
   f600-f603 : ata_piix
 f700-f707 : 0000:00:1f.2
   f700-f707 : ata_piix
 f800-f803 : 0000:00:1f.2
   f800-f803 : ata_piix
 f900-f907 : 0000:00:1f.2
   f900-f907 : ata_piix
 fa00-fa0f : 0000:00:1f.1
   fa00-fa0f : piix
 fb00-fb1f : 0000:00:1d.3
   fb00-fb1f : uhci_hcd
 fc00-fc1f : 0000:00:1d.2
   fc00-fc1f : uhci_hcd
 fd00-fd1f : 0000:00:1d.1
   fd00-fd1f : uhci_hcd
 fe00-fe1f : 0000:00:1d.0
   fe00-fe1f : uhci_hcd
 ff00-ff07 : 0000:00:02.0

/proc/iomem:
00000000-0000ffff : reserved
00010000-0009f3ff : System RAM
0009f400-0009ffff : reserved
000a0000-000bffff : PCI Bus 0000:00
 000a0000-000bffff : Video RAM area
000c0000-000dffff : PCI Bus 0000:00
 000c0000-000c7fff : Video ROM
000e0000-000effff : pnp 00:0c
000f0000-000fffff : reserved
 000f0000-000fffff : System ROM
00100000-1f6dffff : System RAM
 01000000-0133efea : Kernel code
 0133efeb-0145aeff : Kernel data
 014c2000-014eafff : Kernel bss
1f6e0000-1f6e2fff : ACPI Non-volatile Storage
1f6e3000-1f6effff : ACPI Tables
1f6f0000-1f6fffff : reserved
1f700000-febfffff : PCI Bus 0000:00
 d0000000-dfffffff : 0000:00:02.0
 e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
   e0000000-efffffff : reserved
     e0000000-efffffff : pnp 00:0b
 fcc00000-fcdfffff : PCI Bus 0000:01
   fcc00000-fccfffff : PCI Bus 0000:03
   fcd00000-fcdfffff : PCI Bus 0000:02
 fce00000-fcefffff : PCI Bus 0000:0a
   fce00000-fce1ffff : 0000:0a:07.0
   fce20000-fce3ffff : 0000:0a:09.0
 fcf00000-fcffffff : PCI Bus 0000:0a
   fcf80000-fcf9ffff : 0000:0a:09.0
     fcf80000-fcf9ffff : e1000
   fcfa0000-fcfbffff : 0000:0a:09.0
     fcfa0000-fcfbffff : e1000
   fcfc0000-fcfdffff : 0000:0a:07.0
     fcfc0000-fcfdffff : e1000
   fcfe0000-fcffffff : 0000:0a:07.0
     fcfe0000-fcffffff : e1000
 fd000000-fd2fffff : PCI Bus 0000:01
   fd000000-fd0fffff : PCI Bus 0000:02
   fd100000-fd1fffff : PCI Bus 0000:03
   fd2fe000-fd2fefff : 0000:01:00.3
   fd2ff000-fd2fffff : 0000:01:00.1
 fd300000-fd3fffff : PCI Bus 0000:09
 fd400000-fd4fffff : PCI Bus 0000:09
   fd4e0000-fd4fffff : 0000:09:00.0
     fd4e0000-fd4fffff : e1000e
 fd500000-fd5fffff : PCI Bus 0000:08
 fd600000-fd6fffff : PCI Bus 0000:08
   fd6e0000-fd6fffff : 0000:08:00.0
     fd6e0000-fd6fffff : e1000e
 fd700000-fd7fffff : PCI Bus 0000:07
 fd800000-fd8fffff : PCI Bus 0000:07
   fd8e0000-fd8fffff : 0000:07:00.0
     fd8e0000-fd8fffff : e1000e
 fd900000-fd9fffff : PCI Bus 0000:06
 fda00000-fdafffff : PCI Bus 0000:06
   fdae0000-fdafffff : 0000:06:00.0
     fdae0000-fdafffff : e1000e
 fdb00000-fdbfffff : PCI Bus 0000:05
 fdc00000-fdcfffff : PCI Bus 0000:05
   fdce0000-fdcfffff : 0000:05:00.0
     fdce0000-fdcfffff : e1000e
 fdd00000-fddfffff : PCI Bus 0000:04
 fde00000-fdefffff : PCI Bus 0000:04
   fdee0000-fdefffff : 0000:04:00.0
     fdee0000-fdefffff : e1000e
 fdf00000-fdf7ffff : 0000:00:02.0
 fdf80000-fdfbffff : 0000:00:02.0
 fdffe000-fdffe3ff : 0000:00:1f.2
 fdfff000-fdfff3ff : 0000:00:1d.7
   fdfff000-fdfff3ff : ehci_hcd
fec00000-ffffffff : reserved
 fec00000-fec003ff : IOAPIC 0
 fee00000-feefffff : pnp 00:0c
   fee00000-fee00fff : Local APIC
 ffb00000-ffb7ffff : pnp 00:0c
 fff00000-ffffffff : pnp 00:0c

8.5
00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory
Controller Hub (rev 02)
       Subsystem: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub
       Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort+ >SERR- <PERR- INTx-
       Latency: 0
       Capabilities: [e0] Vendor Specific Information <?>

00:01.0 PCI bridge: Intel Corporation 82945G/GZ/P/PL PCI Express Root
Port (rev 02) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=01, subordinate=03, sec-latency=0
       I/O behind bridge: 00009000-0000afff
       Memory behind bridge: fd000000-fd2fffff
       Prefetchable memory behind bridge: 00000000fcc00000-00000000fcdfffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [88] Subsystem: Intel Corporation Device 0000
       Capabilities: [80] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [90] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4159
       Capabilities: [a0] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #2, Speed 2.5GT/s, Width x16, ASPM L0s,
Latency L0 <1us, L1 <4us
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug- Surpise-
                       Slot # 21, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Off, PwrInd On, Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState-
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal-
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [140] Root Complex Link <?>
       Kernel driver in use: pcieport

00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ
Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
       Subsystem: Intel Corporation 82945G/GZ Integrated Graphics Controller
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin A routed to IRQ 5
       Region 0: Memory at fdf00000 (32-bit, non-prefetchable) [size=512K]
       Region 1: I/O ports at ff00 [size=8]
       Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M]
       Region 3: Memory at fdf80000 (32-bit, non-prefetchable) [size=256K]
       Capabilities: [90] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable-
               Address: 00000000  Data: 0000
       Capabilities: [d0] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express
Port 1 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
       I/O behind bridge: 00008000-00008fff
       Memory behind bridge: fde00000-fdefffff
       Prefetchable memory behind bridge: 00000000fdd00000-00000000fddfffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 10, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4161
       Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7
Family) PCI Express Port 1
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express
Port 2 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
       I/O behind bridge: 00007000-00007fff
       Memory behind bridge: fdc00000-fdcfffff
       Prefetchable memory behind bridge: 00000000fdb00000-00000000fdbfffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #2, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 11, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4169
       Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7
Family) PCI Express Port 2
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express
Port 3 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=06, subordinate=06, sec-latency=0
       I/O behind bridge: 00006000-00006fff
       Memory behind bridge: fda00000-fdafffff
       Prefetchable memory behind bridge: 00000000fd900000-00000000fd9fffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #3, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 12, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4171
       Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7
Family) PCI Express Port 3
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express
Port 4 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=07, subordinate=07, sec-latency=0
       I/O behind bridge: 0000d000-0000dfff
       Memory behind bridge: fd800000-fd8fffff
       Prefetchable memory behind bridge: 00000000fd700000-00000000fd7fffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #4, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 13, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4179
       Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7
Family) PCI Express Port 4
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1c.4 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI
Express Port 5 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=08, subordinate=08, sec-latency=0
       I/O behind bridge: 0000c000-0000cfff
       Memory behind bridge: fd600000-fd6fffff
       Prefetchable memory behind bridge: 00000000fd500000-00000000fd5fffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #5, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 14, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4181
       Capabilities: [90] Subsystem: Intel Corporation 82801GR/GH/GHM
(ICH7 Family) PCI Express Port 5
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1c.5 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI
Express Port 6 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=09, subordinate=09, sec-latency=0
       I/O behind bridge: 0000b000-0000bfff
       Memory behind bridge: fd400000-fd4fffff
       Prefetchable memory behind bridge: 00000000fd300000-00000000fd3fffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #6, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 15, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4189
       Capabilities: [90] Subsystem: Intel Corporation 82801GR/GH/GHM
(ICH7 Family) PCI Express Port 6
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB
UHCI Controller #1 (rev 01) (prog-if 00 [UHCI])
       Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1
       Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin A routed to IRQ 23
       Region 4: I/O ports at fe00 [size=32]
       Kernel driver in use: uhci_hcd
       Kernel modules: uhci-hcd

00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB
UHCI Controller #2 (rev 01) (prog-if 00 [UHCI])
       Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2
       Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin B routed to IRQ 19
       Region 4: I/O ports at fd00 [size=32]
       Kernel driver in use: uhci_hcd
       Kernel modules: uhci-hcd

00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB
UHCI Controller #3 (rev 01) (prog-if 00 [UHCI])
       Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3
       Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin C routed to IRQ 18
       Region 4: I/O ports at fc00 [size=32]
       Kernel driver in use: uhci_hcd
       Kernel modules: uhci-hcd

00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB
UHCI Controller #4 (rev 01) (prog-if 00 [UHCI])
       Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4
       Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin D routed to IRQ 16
       Region 4: I/O ports at fb00 [size=32]
       Kernel driver in use: uhci_hcd
       Kernel modules: uhci-hcd

00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2
EHCI Controller (rev 01) (prog-if 20 [EHCI])
       Subsystem: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller
       Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin A routed to IRQ 23
       Region 0: Memory at fdfff000 (32-bit, non-prefetchable) [size=1K]
       Capabilities: [50] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [58] Debug port: BAR=1 offset=00a0
       Kernel driver in use: ehci_hcd
       Kernel modules: ehci-hcd

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
(prog-if 01 [Subtractive decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Bus: primary=00, secondary=0a, subordinate=0a, sec-latency=32
       I/O behind bridge: 0000e000-0000efff
       Memory behind bridge: fcf00000-fcffffff
       Prefetchable memory behind bridge: 00000000fce00000-00000000fcefffff
       Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort+ <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [50] Subsystem: Intel Corporation 82801 PCI Bridge

00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC
Interface Bridge (rev 01)
       Subsystem: Intel Corporation 82801GB/GR (ICH7 Family) LPC
Interface Bridge
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Capabilities: [e0] Vendor Specific Information <?>

00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE
Controller (rev 01) (prog-if 8a [Master SecP PriP])
       Subsystem: Intel Corporation 82801G (ICH7 Family) IDE Controller
       Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
       Latency: 0
       Interrupt: pin A routed to IRQ 18
       Region 0: I/O ports at 01f0 [size=8]
       Region 1: I/O ports at 03f4 [size=1]
       Region 2: I/O ports at 0170 [size=8]
       Region 3: I/O ports at 0374 [size=1]
       Region 4: I/O ports at fa00 [size=16]
       Kernel driver in use: PIIX_IDE
       Kernel modules: ata_piix

00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family)
SATA IDE Controller (rev 01) (prog-if 8f [Master SecP SecO PriP PriO])
       Subsystem: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA
IDE Controller
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin B routed to IRQ 19
       Region 0: I/O ports at f900 [size=8]
       Region 1: I/O ports at f800 [size=4]
       Region 2: I/O ports at f700 [size=8]
       Region 3: I/O ports at f600 [size=4]
       Region 4: I/O ports at f500 [size=16]
       Region 5: Memory at fdffe000 (32-bit, non-prefetchable) [size=1K]
       Capabilities: [70] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Kernel driver in use: ata_piix
       Kernel modules: ata_piix

00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
       Subsystem: Intel Corporation 82801G (ICH7 Family) SMBus Controller
       Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Interrupt: pin B routed to IRQ 19
       Region 4: I/O ports at 0500 [size=32]
       Kernel driver in use: i801_smbus
       Kernel modules: i2c-i801

01:00.0 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI
Bridge A (rev 09) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=01, secondary=02, subordinate=02, sec-latency=64
       I/O behind bridge: 0000a000-0000afff
       Memory behind bridge: fd000000-fd0fffff
       Prefetchable memory behind bridge: 00000000fcd00000-00000000fcdfffff
       Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [44] Express (v1) PCI/PCI-X Bridge, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- BrConfRtry-
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s,
Latency L0 unlimited, L1 unlimited
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk- DLActive- BWMgmt- ABWMgmt-
       Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable-
               Address: 0000000000000000  Data: 0000
       Capabilities: [6c] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [d8] PCI-X bridge device
               Secondary Status: 64bit+ 133MHz+ SCD- USC- SCO- SRD- Freq=66MHz
               Status: Dev=01:00.0 64bit- 133MHz- SCD- USC- SCO- SRD-
               Upstream: Capacity=65535 CommitmentLimit=65535
               Downstream: Capacity=65535 CommitmentLimit=65535
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr+ BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [300] Power Budgeting <?>

01:00.1 PIC: Intel Corporation 6700/6702PXH I/OxAPIC Interrupt
Controller A (rev 09) (prog-if 20 [IO(X)-APIC])
       Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Region 0: Memory at fd2ff000 (32-bit, non-prefetchable) [size=4K]
       Capabilities: [44] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s,
Latency L0 unlimited, L1 unlimited
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [6c] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:00.2 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI
Bridge B (rev 09) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=01, secondary=03, subordinate=03, sec-latency=64
       I/O behind bridge: 00009000-00009fff
       Memory behind bridge: fd100000-fd1fffff
       Prefetchable memory behind bridge: 00000000fcc00000-00000000fccfffff
       Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [44] Express (v1) PCI/PCI-X Bridge, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- BrConfRtry-
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s,
Latency L0 unlimited, L1 unlimited
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk- DLActive- BWMgmt- ABWMgmt-
       Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable-
               Address: 0000000000000000  Data: 0000
       Capabilities: [6c] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [d8] PCI-X bridge device
               Secondary Status: 64bit+ 133MHz+ SCD- USC- SCO- SRD- Freq=66MHz
               Status: Dev=01:00.2 64bit- 133MHz- SCD- USC- SCO- SRD-
               Upstream: Capacity=65535 CommitmentLimit=65535
               Downstream: Capacity=65535 CommitmentLimit=65535
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [300] Power Budgeting <?>

01:00.3 PIC: Intel Corporation 6700PXH I/OxAPIC Interrupt Controller B
(rev 09) (prog-if 20 [IO(X)-APIC])
       Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Region 0: Memory at fd2fe000 (32-bit, non-prefetchable) [size=4K]
       Capabilities: [44] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s,
Latency L0 unlimited, L1 unlimited
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [6c] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-

04:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 47
       Region 0: Memory at fdee0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at 8f00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 41d1
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 10-c3-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

05:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 48
       Region 0: Memory at fdce0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at 7f00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 41e1
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 11-c3-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

06:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 49
       Region 0: Memory at fdae0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at 6f00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 412a
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 12-c3-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

07:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 50
       Region 0: Memory at fd8e0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at df00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 414a
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 13-c3-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

08:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 51
       Region 0: Memory at fd6e0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at cf00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 41b1
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 54-c6-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

09:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 52
       Region 0: Memory at fd4e0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at bf00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 41b9
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 55-c6-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

0a:07.0 Ethernet controller: Intel Corporation 82541GI Gigabit
Ethernet Controller (rev 05)
       Subsystem: Intel Corporation PRO/1000 MT Network Connection
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 252 (63750ns min), Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 17
       Region 0: Memory at fcfe0000 (32-bit, non-prefetchable) [size=128K]
       Region 1: Memory at fcfc0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at ef00 [size=64]
       [virtual] Expansion ROM at fce00000 [disabled] [size=128K]
       Capabilities: [dc] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [e4] PCI-X non-bridge device
               Command: DPERE- ERO+ RBC=512 OST=1
               Status: Dev=00:00.0 64bit- 133MHz- SCD- USC- DC=simple
DMMRBC=2048 DMOST=1 DMCRS=8 RSCEM- 266MHz- 533MHz-
       Kernel driver in use: e1000
       Kernel modules: e1000

0a:09.0 Ethernet controller: Intel Corporation 82541GI Gigabit
Ethernet Controller (rev 05)
       Subsystem: Intel Corporation PRO/1000 MT Network Connection
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 252 (63750ns min), Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 19
       Region 0: Memory at fcfa0000 (32-bit, non-prefetchable) [size=128K]
       Region 1: Memory at fcf80000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at ee00 [size=64]
       [virtual] Expansion ROM at fce20000 [disabled] [size=128K]
       Capabilities: [dc] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [e4] PCI-X non-bridge device
               Command: DPERE- ERO+ RBC=512 OST=1
               Status: Dev=00:00.0 64bit- 133MHz- SCD- USC- DC=simple
DMMRBC=2048 DMOST=1 DMCRS=8 RSCEM- 266MHz- 533MHz-
       Kernel driver in use: e1000
       Kernel modules: e1000

8.6
/proc/scsi/scsi:
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
 Vendor: ATA      Model: ST380815AS       Rev: 4.AA
 Type:   Direct-Access                    ANSI  SCSI revision: 05

8.7
Unfortunately I am only able to reproduce the error on the following hardware:
Nexcom NSA-1068N7 (http://www.omtec.de/network-security-appliances/nsa-1086n7/

This is the file ospfd.conf:
hostname chgut11fw01
log syslog

interface gAAchgut1
       ip ospf network point-to-point
       ip ospf authentication-key hallowel
       ip ospf cost 15
       ip ospf hello-interval 2
       ip ospf dead-interval 10

interface eth0
interface eth1
interface eth2
interface eth3
interface lo

router ospf
       ospf router-id 172.16.111.1
       auto-cost reference-bandwidth 1
       redistribute kernel route-map mynet
       no ospf rfc1583compatibility
       passive-interface eth0
       passive-interface eth1
       passive-interface eth2
       passive-interface eth3
       network 10.254.11.1/32 area 0
       network 10.254.1.11/32 area 0
       network 172.16.111.0/24 area 0

access-list 99 permit 172.16.111.0 0.0.0.255
access-list 99 deny any
route-map mynet permit 10
       match ip address 99
line vty

Please let me know if I forgot something to add.

Thanks for any help.

Best regards
Elmar Vonlanthen

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
       [not found] <CA+0Zf5C1B67f7RSiEej86rGFC1Ms9vH-qmk1wN1phtskfq2vEA@mail.gmail.com>
  2011-10-13 13:35 ` PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops Elmar Vonlanthen
@ 2011-10-13 13:54 ` Elmar Vonlanthen
  1 sibling, 0 replies; 35+ messages in thread
From: Elmar Vonlanthen @ 2011-10-13 13:54 UTC (permalink / raw)
  To: davem; +Cc: linux-kernel

Hello Mr Miller (and all other readers)

I'm sorry for the previous horrible post. The webmail client of
hotmail did remove a lot of newlines. So here is the hopefully
readable mail again from my gmail Account.

According to the maintainer list and the document "REPORTING-BUGS" I
should send this report to you. Please excuse me, if you are the wrong
person to receive this mail.

1. PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops

2.
I have a setup with two gateways connected with ipsec and gre tunnels.
They do ospf routing.

This is the setup I have:
[ host chgut11fw01 ]
================================================== [ host chgut1fw01 ]

    (dev gAAchgut1) 10.254.11.1 ---------gre/ospf---------
10.254.1.11 (dev gAAchgut11)
                      V                                      V
         (dev eth1) 10.10.111.4 -----strongswan/ipsec-----
10.10.101.4 (dev eth1)

Sometimes, if the process ospfd (package quagga) is trying to send a
multicast packet with the system call "sendmsg" a kernel oops happens.
When I add and remove the GRE interface in a loop the oops happens
normally after some seconds or two, three minutes (this is the way I
can reproduce the problem).

But the problem happens only on host chgut11fw01 (See hardware details
below). On host chgut1fw01 I'm not able to reproduce it!

It is the call sendmsg() in ospf_packet.c line 737 (quagga-0.99.20
source) which causes the problem. It tries to send a packet of length
16384 to 224.0.0.5 over device gAAchgut1 as soon as the device is
added to the multcast group.

3. Keywords: networking, kernel

4.1 Kernel Version: Linux version 3.0.4-SMP (root@whiskey) (gcc
version 4.4.4 (Gentoo 4.4.4-r2 p1.3, pie-0.4.5) ) #1 SMP Thu Oct 6
16:24:22 CEST 2011

4.2 Kernel Config: If necessary, I can post the enabled configuration options.

5. Kernel Version which doesn't have the bug: None

6. Kernel oops message

I saw too late, that my kernel 3.0.4 is "tainted". I don't know why,
because the kernel 2.6.35.10 which I use as well is not. The only
thing I did was to add the "aufs" patch, but on both kernel versions
(is that the reason?). Below you find a oops with the not tainted
kernel 2.6.35.10.

2011-10-10 09:32:08 chgut11fw01 kernel: skb_over_panic: text:c1305749
len:64 put:64 head:c7ea6a00 data:c7ea6a50 tail:0xc7ea6a90
end:0xc7ea6a80 dev:<NULL>
2011-10-10 09:32:08 chgut11fw01 kernel: ------------[ cut here ]------------
2011-10-10 09:32:09 chgut11fw01 kernel: kernel BUG at net/core/skbuff.c:128!
2011-10-10 09:32:09 chgut11fw01 kernel: invalid opcode: 0000 [#40] SMP
2011-10-10 09:32:09 chgut11fw01 kernel: Modules linked in:
nf_conntrack_netlink nfnetlink ip_gre gre authenc xfrm4_mode_transport
deflate zlib_deflate ctr twofish_generic twofish_common serpent cryptd
aes_i5
86 aes_generic blowfish cast5 cbc ecb rmd160 sha512_generic
sha256_generic sha1_generic xfrm_user xfrm4_tunnel tunnel4 ipcomp
xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG xt_limit ipt_REJECT xt_state
ipt_REDIRECT
 ipt_MASQUERADE xt_policy xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK
iptable_filter iptable_nat xt_mark xt_connmark iptable_mangle
iptable_raw ip_tables x_tables nf_conntrack_tftp nf_nat_ftp nf_nat
nf_conntrac
k_ipv4 nf_defrag_ipv4 nf_conntrack_ftp nf_conntrack rtc ppdev
parport_pc parport w83792d i2c_dev i2c_i801 i2c_core pl2303 usbserial
coretemp hwmon usbhid ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e
aufs
ata_piix libata
2011-10-10 09:32:09 chgut11fw01 kernel:
2011-10-10 09:32:09 chgut11fw01 kernel: Pid: 17011, comm: ospfd
Tainted: G      D     3.0.4-SMP #1    /LakePort
2011-10-10 09:32:09 chgut11fw01 kernel: EIP: 0060:[<c12b6575>] EFLAGS:
00210296 CPU: 0
2011-10-10 09:32:09 chgut11fw01 kernel: EIP is at skb_put+0x85/0x90
2011-10-10 09:32:09 chgut11fw01 kernel: EAX: 00000078 EBX: c1305749
ECX: 00200082 EDX: ffffff8b
2011-10-10 09:32:09 chgut11fw01 kernel: ESI: dd6420c0 EDI: 00000040
EBP: d7d23c7c ESP: d7d23c54
2011-10-10 09:32:09 chgut11fw01 kernel: DS: 007b ES: 007b FS: 00d8 GS:
0033 SS: 0068
2011-10-10 09:32:09 chgut11fw01 kernel: Process ospfd (pid: 17011,
ti=d7d22000 task=de908a90 task.ti=d7d22000)
2011-10-10 09:32:09 chgut11fw01 kernel: Stack:
2011-10-10 09:32:09 chgut11fw01 kernel: c13fd19c c1305749 00000040
00000040 c7ea6a00 c7ea6a50 c7ea6a90 c7ea6a80
2011-10-10 09:32:09 chgut11fw01 kernel: c13fb224 d83d90c0 d7d23d34
c1305749 d7d23d20 02916cfd 4c9e613e 00000001
2011-10-10 09:32:09 chgut11fw01 kernel: 00000001 d7d23ce4 d7d23cc8
00000000 0000e8d5 d7d23ecc caddb300 c7ea6a50
2011-10-10 09:32:09 chgut11fw01 kernel: Call Trace:
2011-10-10 09:32:09 chgut11fw01 kernel: [<c1305749>] ? raw_sendmsg+0x5a9/0x850
2011-10-10 09:32:09 chgut11fw01 kernel: [<c1305749>] raw_sendmsg+0x5a9/0x850
2011-10-10 09:32:09 chgut11fw01 kernel: [<c1305749>] raw_sendmsg+0x5a9/0x850
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12ccebd>] ? __rtnl_unlock+0xd/0x10
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12c06bd>] ?
netdev_run_todo+0x3d/0x220
2011-10-10 09:32:09 chgut11fw01 kernel: [<c133d400>] ?
_raw_read_lock_irq+0x20/0x20
2011-10-10 09:32:09 chgut11fw01 kernel: [<c130efa2>] inet_sendmsg+0x42/0xa0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12ea0e5>] ?
do_ip_setsockopt+0x75/0xbe0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c10213e7>] ?
__wake_up_sync_key+0x47/0x60
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12af947>] sock_sendmsg+0xa7/0xd0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b5df9>] ? skb_queue_tail+0x39/0x50
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12af947>] ? sock_sendmsg+0xa7/0xd0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b8be3>] ? verify_iovec+0x53/0xb0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b0640>] __sys_sendmsg+0x2f0/0x300
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12af9de>] ?
sockfd_lookup_light+0x1e/0x70
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b003a>] ? sys_sendto+0xaa/0xe0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c1047d65>] ?
sched_clock_local+0xa5/0x180
2011-10-10 09:32:09 chgut11fw01 kernel: [<c102f898>] ? nsecs_to_jiffies+0x8/0x10
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12eac91>] ? ip_setsockopt+0x41/0xa0
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b0796>] sys_sendmsg+0x36/0x60
2011-10-10 09:32:09 chgut11fw01 kernel: [<c12b13c9>] sys_socketcall+0xe9/0x280
2011-10-10 09:32:09 chgut11fw01 kernel: [<c133d6a5>] syscall_call+0x7/0xb
2011-10-10 09:32:09 chgut11fw01 kernel: [<c1330000>] ?
packet_recvmsg+0x410/0x440
2011-10-10 09:32:09 chgut11fw01 kernel: Code: 00 00 89 4c 24 14 8b 88
a4 00 00 00 89 54 24 0c 89 4c 24 10 8b 40 50 89 5c 24 04 c7 04 24 9c
d1 3f c1 89 44 24 08 e8 dc 4b 08 00 <0f> 0b eb fe b9 24 b2 3f c1 eb ae
55 89 e5 57 56 89 d6 53 89 c3
2011-10-10 09:32:09 chgut11fw01 kernel: EIP: [<c12b6575>]
skb_put+0x85/0x90 SS:ESP 0068:d7d23c54
2011-10-10 09:32:09 chgut11fw01 kernel: ---[ end trace 88d35f34d6a6da4a ]---

Oops from "not-tainted" Kernel:
2011-10-05 14:32:59 chgut11fw01 kernel: skb_over_panic: text:c12c3067
len:64 put:64 head:d920b800 data:d920b850 tail:0xd920b890
end:0xd920b880 dev:<NULL>
2011-10-05 14:32:59 chgut11fw01 kernel: ------------[ cut here ]------------
2011-10-05 14:32:59 chgut11fw01 kernel: kernel BUG at net/core/skbuff.c:127!
2011-10-05 14:32:59 chgut11fw01 kernel: invalid opcode: 0000 [#1] SMP
2011-10-05 14:32:59 chgut11fw01 kernel: last sysfs file:
/sys/devices/pci0000:00/0000:00:1f.3/i2c-0/0-002d/chassis
2011-10-05 14:33:00 chgut11fw01 kernel: Modules linked in: ip_gre
authenc xfrm4_mode_transport deflate zlib_deflate ctr twofish
twofish_common serpent aes_i586 aes_generic blowfish cast5 cbc ecb
rmd160 sha512_generic sha256_generic sha1_generic xfrm_user
xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG
xt_limit ipt_REJECT xt_state ipt_REDIRECT ipt_MASQUERADE xt_policy
xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK iptable_filter iptable_nat
xt_mark xt_connmark iptable_mangle iptable_raw ip_tables x_tables
nf_conntrack_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4
nf_conntrack_ftp nf_conntrack ppdev parport_pc parport w83792d i2c_dev
i2c_i801 i2c_core pl2303 coretemp hwmon usbhid option usb_wwan
usbserial ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e aufs
ata_piix libata
2011-10-05 14:33:00 chgut11fw01 kernel:
2011-10-05 14:33:00 chgut11fw01 kernel: Pid: 6119, comm: ospfd Not
tainted 2.6.35.10-DEBUG #1 LakePort/
2011-10-05 14:33:00 chgut11fw01 kernel: EIP: 0060:[<c1277595>] EFLAGS:
00010282 CPU: 1
2011-10-05 14:33:00 chgut11fw01 kernel: EIP is at skb_put+0x85/0x90
2011-10-05 14:33:00 chgut11fw01 kernel: EAX: 00000078 EBX: c12c3067
ECX: 00000086 EDX: 00985000
2011-10-05 14:33:00 chgut11fw01 kernel: ESI: d9044bc0 EDI: 00000040
EBP: d78e7c84 ESP: d78e7c5c
2011-10-05 14:33:00 chgut11fw01 kernel: DS: 007b ES: 007b FS: 00d8 GS:
0033 SS: 0068
2011-10-05 14:33:00 chgut11fw01 kernel: Process ospfd (pid: 6119,
ti=d78e6000 task=decd3170 task.ti=d78e6000)
2011-10-05 14:33:00 chgut11fw01 kernel: Stack:
2011-10-05 14:33:00 chgut11fw01 kernel: c13b936c c12c3067 00000040
00000040 d920b800 d920b850 d920b890 d920b880
2011-10-05 14:33:00 chgut11fw01 kernel: <0> c1391cb4 dbc733c0 d78e7cb8
c12c3067 d78e7ca8 d78e7cf8 d78e7d44 c14dab80
2011-10-05 14:33:00 chgut11fw01 kernel: <0> d78e7ee0 d920b850 db755080
00000001 d78e7f40 db755080 00000000 d78e7d54
2011-10-05 14:33:00 chgut11fw01 kernel: Call Trace:
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12c3067>] ?
raw_send_hdrinc+0xd7/0x2e0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12c3067>] ?
raw_send_hdrinc+0xd7/0x2e0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12c36c9>] ? raw_sendmsg+0x459/0x4b0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c128b900>] ?
__rtnl_kill_links+0x40/0x70
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12a8800>] ? ip_ra_control+0xc0/0x130
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12cc0df>] ? inet_sendmsg+0x3f/0xa0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c1270c27>] ? sock_sendmsg+0xa7/0xd0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12e5f56>] ?
unix_stream_sendmsg+0x1e6/0x340
2011-10-05 14:33:00 chgut11fw01 kernel: [<c1021f14>] ? scale_rt_power+0x24/0xb0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c102b128>] ?
find_busiest_group+0x5c8/0x930
2011-10-05 14:33:00 chgut11fw01 kernel: [<c1279bb3>] ? verify_iovec+0x53/0xb0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12710c3>] ? sys_sendmsg+0x113/0x220
2011-10-05 14:33:00 chgut11fw01 kernel: [<c102b50f>] ? load_balance+0x7f/0x550
2011-10-05 14:33:00 chgut11fw01 kernel: [<c10470a5>] ?
sched_clock_local+0xa5/0x180
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12a94a1>] ? ip_setsockopt+0x41/0xa0
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12c25dc>] ? raw_setsockopt+0x3c/0x80
2011-10-05 14:33:00 chgut11fw01 kernel: [<c1272b12>] ?
sock_common_setsockopt+0x22/0x30
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12724d6>] ? sys_socketcall+0xd6/0x270
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12f6c25>] ? syscall_call+0x7/0xb
2011-10-05 14:33:00 chgut11fw01 kernel: [<c12f0000>] ?
quirk_vt8235_acpi+0x23/0x8d
2011-10-05 14:33:00 chgut11fw01 kernel: Code: 00 00 89 4c 24 14 8b 88
a4 00 00 00 89 54 24 0c 89 4c 24 10 8b 40 50 89 5c 24 04 c7 04 24 6c
93 3b c1 89 44 24 08 e8 76 d2 07 00 <0f> 0b eb fe b9 b4 1c 39 c1 eb ae
55 89 e5 57 56 53 89 c3 83 ec
2011-10-05 14:33:00 chgut11fw01 kernel: EIP: [<c1277595>]
skb_put+0x85/0x90 SS:ESP 0068:d78e7c5c
2011-10-05 14:33:00 chgut11fw01 kernel: ---[ end trace bc0a60e600586911 ]---

7.
The programms ospfd/zebra (quagga) has to be running with device
gAAchgut1 configured as ospf device. It seems ipsec (strongswan) has
to be running as well, with encrypted transport connection between
10.10.101.4 and 10.10.111.4.

It is ospfd which causes the kernel oops.

The following script triggers ospfd to execute the sendmsg system call:
#!/bin/sh
while true; do
 php -r "
   exec('ip tunnel del gAAchgut1');
   exec('ip tunnel add gAAchgut1 mode gre remote 10.10.101.4 local
10.10.101.4 ttl 255 tos inherit');
   exec('ip link set gAAchgut1 up multicast on mtu 1356');
   exec('ip addr add 10.254.11.1 peer 10.254.1.11/32 dev gAAchgut1');
 "
done

If I execute the commands directly (and not via php), I'm not able to
reproduce the problem. Timing problem?

8.1
Linux chgut11fw01 3.0.4-SMP #1 SMP Thu Oct 6 16:24:22 CEST 2011 i686
Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz GenuineIntel GNU/Linux

Gnu C                  4.4.4
Gnu make               3.81
binutils               2.20.1.20100303
util-linux             2.17.2
mount                  support
module-init-tools      3.4
e2fsprogs              1.41.12
PPP                    2.4.4
Linux C Library        2.11.2
Dynamic linker (ldd)   2.11.2
Linux C++ Library      6.0.13
Procps                 3.2.7
Net-tools              1.60
Kbd                    1.13
Sh-utils               6.10
udev                   124
Modules Loaded         nf_conntrack_netlink nfnetlink ip_gre gre
authenc xfrm4_mode_transport deflate zlib_deflate ctr twofish_generic
twofish_common serpent cryptd aes_i586 aes_generic blowfish cast5 cbc
ecb rmd160 sha512_generic sha256_generic sha1_generic xfrm_user
xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG
xt_limit ipt_REJECT xt_state ipt_REDIRECT ipt_MASQUERADE xt_policy
xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK iptable_filter iptable_nat
xt_mark xt_connmark iptable_mangle iptable_raw ip_tables x_tables
nf_conntrack_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4
nf_conntrack_ftp nf_conntrack rtc ppdev parport_pc parport w83792d
i2c_dev i2c_i801 i2c_core pl2303 usbserial coretemp hwmon usbhid
ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e aufs ata_piix libata

quagga:                0.99.20
strongswan:            4.5.3

I am able to reproduce the problem as well with the following versions:
quagga:                0.99.17, 0.99.18, 0.99.19
strongswan:            4.3.5, 4.5.3
kernel (vanilla):      2.6.35.10, 2.6.35.14

8.2
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     E4600  @ 2.40GHz
stepping        : 13
cpu MHz         : 2400.099
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx
lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor
ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts
bogomips        : 4802.20
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     E4600  @ 2.40GHz
stepping        : 13
cpu MHz         : 2400.099
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx
lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor
ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts
bogomips        : 4801.84
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

8.3
nf_conntrack_netlink 13284 0 - Live 0xe2f13000
nfnetlink 1943 1 nf_conntrack_netlink, Live 0xe2f09000
ip_gre 11012 0 - Live 0xe058e000
gre 1098 1 ip_gre, Live 0xe0584000
authenc 4836 2 - Live 0xe057d000
xfrm4_mode_transport 772 4 - Live 0xe0576000
deflate 1252 0 - Live 0xe0570000
zlib_deflate 17922 1 deflate, Live 0xe0566000
ctr 2308 0 - Live 0xe055c000
twofish_generic 5252 0 - Live 0xe0554000
twofish_common 12453 1 twofish_generic, Live 0xe054a000
serpent 17092 0 - Live 0xe053c000
cryptd 4974 0 - Live 0xe0526000
aes_i586 6787 2 - Live 0xe051d000
aes_generic 25709 1 aes_i586, Live 0xe050e000
blowfish 7012 0 - Live 0xe0500000
cast5 14116 0 - Live 0xe04f5000
cbc 1764 2 - Live 0xe04eb000
ecb 1252 0 - Live 0xe04e5000
rmd160 6052 0 - Live 0xe04de000
sha512_generic 6788 0 - Live 0xe04d6000
sha256_generic 10756 0 - Live 0xe04cc000
sha1_generic 1444 2 - Live 0xe04c3000
xfrm_user 17892 2 - Live 0xe04b9000
xfrm4_tunnel 932 0 - Live 0xe04ad000
tunnel4 1170 1 xfrm4_tunnel, Live 0xe04a7000
ipcomp 1412 0 - Live 0xe04a1000
xfrm_ipcomp 2761 1 ipcomp, Live 0xe049a000
esp4 4804 2 - Live 0xe0492000
ah4 3748 0 - Live 0xe048a000
af_key 19696 0 - Live 0xe047f000
tun 11335 8 - Live 0xe046c000
ipt_LOG 6288 3 - Live 0xe0405000
xt_limit 1000 4 - Live 0xe03fd000
ipt_REJECT 1764 4 - Live 0xe03f7000
xt_state 772 5 - Live 0xe03f0000
ipt_REDIRECT 740 1 - Live 0xe039c000
ipt_MASQUERADE 996 2 - Live 0xe0396000
xt_policy 1956 71 - Live 0xe0390000
xt_TCPMSS 1988 1 - Live 0xe037e000
xt_tcpmss 964 1 - Live 0xe0377000
xt_tcpudp 1604 322 - Live 0xe036b000
xt_NOTRACK 612 5 - Live 0xe0365000
iptable_filter 772 1 - Live 0xe035b000
iptable_nat 2729 1 - Live 0xe0353000
xt_mark 708 6 - Live 0xe034c000
xt_connmark 1124 2 - Live 0xe0346000
iptable_mangle 868 1 - Live 0xe033e000
iptable_raw 676 1 - Live 0xe0336000
ip_tables 8417 4
iptable_filter,iptable_nat,iptable_mangle,iptable_raw, Live 0xe032e000
x_tables 9752 18
ipt_LOG,xt_limit,ipt_REJECT,xt_state,ipt_REDIRECT,ipt_MASQUERADE,xt_policy,xt_TCPMSS,xt_tcpmss,xt_tcpudp,xt_NOTRACK,iptable_filter,iptable_nat,xt_mark,xt_connmark,iptable_mangle,iptable_raw,ip_tables,
Live 0xe0323000
nf_conntrack_tftp 2360 0 - Live 0xe0319000
nf_nat_ftp 1156 0 - Live 0xe0312000
nf_nat 10953 4 ipt_REDIRECT,ipt_MASQUERADE,iptable_nat,nf_nat_ftp,
Live 0xe030a000
nf_conntrack_ipv4 7554 10 iptable_nat,nf_nat, Live 0xe02ff000
nf_defrag_ipv4 778 1 nf_conntrack_ipv4, Live 0xe02f6000
nf_conntrack_ftp 4456 1 nf_nat_ftp, Live 0xe02ef000
nf_conntrack 42655 11
nf_conntrack_netlink,xt_state,ipt_MASQUERADE,xt_NOTRACK,iptable_nat,xt_connmark,nf_conntrack_tftp,nf_nat_ftp,nf_nat,nf_conntrack_ipv4,nf_conntrack_ftp,
Live 0xe02dc000
rtc 6428 0 - Live 0xe027b000
ppdev 4808 2 - Live 0xe0232000
parport_pc 14181 1 - Live 0xe0227000
parport 12657 2 ppdev,parport_pc, Live 0xe0218000
w83792d 12304 0 - Live 0xe020b000
i2c_dev 3857 0 - Live 0xe01be000
i2c_i801 6348 0 - Live 0xe01b5000
i2c_core 13325 3 w83792d,i2c_dev,i2c_i801, Live 0xe01ac000
pl2303 10024 0 - Live 0xe01a1000
usbserial 23695 1 pl2303, Live 0xe016d000
coretemp 3812 0 - Live 0xe013e000
hwmon 1006 2 w83792d,coretemp, Live 0xe0136000
usbhid 19509 0 - Live 0xe012c000
ohci_hcd 15112 0 - Live 0xe00fb000
uhci_hcd 16308 0 - Live 0xe00ba000
ehci_hcd 27576 0 - Live 0xe0077000
usbcore 96694 7 pl2303,usbserial,usbhid,ohci_hcd,uhci_hcd,ehci_hcd,
Live 0xe00a1000
e1000 83270 0 - Live 0xe0061000
e1000e 112509 0 - Live 0xdffd5000
aufs 137864 151 - Live 0xdff89000
ata_piix 10988 5 - Live 0xdff55000
libata 143665 1 ata_piix, Live 0xdff23000

8.4
/proc/ioports:
0000-0cf7 : PCI Bus 0000:00
 0000-001f : dma1
 0020-0021 : pic1
 0040-0043 : timer0
 0050-0053 : timer1
 0060-0060 : keyboard
 0064-0064 : keyboard
 0070-0077 : rtc
 0080-008f : dma page reg
 00a0-00a1 : pic2
 00c0-00df : dma2
 00f0-00ff : fpu
 0170-0177 : 0000:00:1f.1
   0170-0177 : piix
 01f0-01f7 : 0000:00:1f.1
   01f0-01f7 : piix
 0290-029f : pnp 00:01
   0290-0297 : pnp 00:01
 02f8-02ff : serial
 0376-0376 : 0000:00:1f.1
   0376-0376 : piix
 0378-037a : parport0
 03c0-03df : vga+
 03f6-03f6 : 0000:00:1f.1
   03f6-03f6 : piix
 03f8-03ff : serial
 0400-04bf : pnp 00:09
   0400-0403 : ACPI PM1a_EVT_BLK
   0404-0405 : ACPI PM1a_CNT_BLK
   0408-040b : ACPI PM_TMR
   0428-042f : ACPI GPE0_BLK
 04d0-04d1 : pnp 00:01
 0500-051f : 0000:00:1f.3
   0500-051f : i801_smbus
 0800-087f : pnp 00:01
0cf8-0cff : PCI conf1
0d00-ffff : PCI Bus 0000:00
 6000-6fff : PCI Bus 0000:06
   6f00-6f1f : 0000:06:00.0
 7000-7fff : PCI Bus 0000:05
   7f00-7f1f : 0000:05:00.0
 8000-8fff : PCI Bus 0000:04
   8f00-8f1f : 0000:04:00.0
 9000-afff : PCI Bus 0000:01
   9000-9fff : PCI Bus 0000:03
   a000-afff : PCI Bus 0000:02
 b000-bfff : PCI Bus 0000:09
   bf00-bf1f : 0000:09:00.0
 c000-cfff : PCI Bus 0000:08
   cf00-cf1f : 0000:08:00.0
 d000-dfff : PCI Bus 0000:07
   df00-df1f : 0000:07:00.0
 e000-efff : PCI Bus 0000:0a
   ee00-ee3f : 0000:0a:09.0
     ee00-ee3f : e1000
   ef00-ef3f : 0000:0a:07.0
     ef00-ef3f : e1000
 f500-f50f : 0000:00:1f.2
   f500-f50f : ata_piix
 f600-f603 : 0000:00:1f.2
   f600-f603 : ata_piix
 f700-f707 : 0000:00:1f.2
   f700-f707 : ata_piix
 f800-f803 : 0000:00:1f.2
   f800-f803 : ata_piix
 f900-f907 : 0000:00:1f.2
   f900-f907 : ata_piix
 fa00-fa0f : 0000:00:1f.1
   fa00-fa0f : piix
 fb00-fb1f : 0000:00:1d.3
   fb00-fb1f : uhci_hcd
 fc00-fc1f : 0000:00:1d.2
   fc00-fc1f : uhci_hcd
 fd00-fd1f : 0000:00:1d.1
   fd00-fd1f : uhci_hcd
 fe00-fe1f : 0000:00:1d.0
   fe00-fe1f : uhci_hcd
 ff00-ff07 : 0000:00:02.0

/proc/iomem:
00000000-0000ffff : reserved
00010000-0009f3ff : System RAM
0009f400-0009ffff : reserved
000a0000-000bffff : PCI Bus 0000:00
 000a0000-000bffff : Video RAM area
000c0000-000dffff : PCI Bus 0000:00
 000c0000-000c7fff : Video ROM
000e0000-000effff : pnp 00:0c
000f0000-000fffff : reserved
 000f0000-000fffff : System ROM
00100000-1f6dffff : System RAM
 01000000-0133efea : Kernel code
 0133efeb-0145aeff : Kernel data
 014c2000-014eafff : Kernel bss
1f6e0000-1f6e2fff : ACPI Non-volatile Storage
1f6e3000-1f6effff : ACPI Tables
1f6f0000-1f6fffff : reserved
1f700000-febfffff : PCI Bus 0000:00
 d0000000-dfffffff : 0000:00:02.0
 e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
   e0000000-efffffff : reserved
     e0000000-efffffff : pnp 00:0b
 fcc00000-fcdfffff : PCI Bus 0000:01
   fcc00000-fccfffff : PCI Bus 0000:03
   fcd00000-fcdfffff : PCI Bus 0000:02
 fce00000-fcefffff : PCI Bus 0000:0a
   fce00000-fce1ffff : 0000:0a:07.0
   fce20000-fce3ffff : 0000:0a:09.0
 fcf00000-fcffffff : PCI Bus 0000:0a
   fcf80000-fcf9ffff : 0000:0a:09.0
     fcf80000-fcf9ffff : e1000
   fcfa0000-fcfbffff : 0000:0a:09.0
     fcfa0000-fcfbffff : e1000
   fcfc0000-fcfdffff : 0000:0a:07.0
     fcfc0000-fcfdffff : e1000
   fcfe0000-fcffffff : 0000:0a:07.0
     fcfe0000-fcffffff : e1000
 fd000000-fd2fffff : PCI Bus 0000:01
   fd000000-fd0fffff : PCI Bus 0000:02
   fd100000-fd1fffff : PCI Bus 0000:03
   fd2fe000-fd2fefff : 0000:01:00.3
   fd2ff000-fd2fffff : 0000:01:00.1
 fd300000-fd3fffff : PCI Bus 0000:09
 fd400000-fd4fffff : PCI Bus 0000:09
   fd4e0000-fd4fffff : 0000:09:00.0
     fd4e0000-fd4fffff : e1000e
 fd500000-fd5fffff : PCI Bus 0000:08
 fd600000-fd6fffff : PCI Bus 0000:08
   fd6e0000-fd6fffff : 0000:08:00.0
     fd6e0000-fd6fffff : e1000e
 fd700000-fd7fffff : PCI Bus 0000:07
 fd800000-fd8fffff : PCI Bus 0000:07
   fd8e0000-fd8fffff : 0000:07:00.0
     fd8e0000-fd8fffff : e1000e
 fd900000-fd9fffff : PCI Bus 0000:06
 fda00000-fdafffff : PCI Bus 0000:06
   fdae0000-fdafffff : 0000:06:00.0
     fdae0000-fdafffff : e1000e
 fdb00000-fdbfffff : PCI Bus 0000:05
 fdc00000-fdcfffff : PCI Bus 0000:05
   fdce0000-fdcfffff : 0000:05:00.0
     fdce0000-fdcfffff : e1000e
 fdd00000-fddfffff : PCI Bus 0000:04
 fde00000-fdefffff : PCI Bus 0000:04
   fdee0000-fdefffff : 0000:04:00.0
     fdee0000-fdefffff : e1000e
 fdf00000-fdf7ffff : 0000:00:02.0
 fdf80000-fdfbffff : 0000:00:02.0
 fdffe000-fdffe3ff : 0000:00:1f.2
 fdfff000-fdfff3ff : 0000:00:1d.7
   fdfff000-fdfff3ff : ehci_hcd
fec00000-ffffffff : reserved
 fec00000-fec003ff : IOAPIC 0
 fee00000-feefffff : pnp 00:0c
   fee00000-fee00fff : Local APIC
 ffb00000-ffb7ffff : pnp 00:0c
 fff00000-ffffffff : pnp 00:0c

8.5
00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory
Controller Hub (rev 02)
       Subsystem: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub
       Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort+ >SERR- <PERR- INTx-
       Latency: 0
       Capabilities: [e0] Vendor Specific Information <?>

00:01.0 PCI bridge: Intel Corporation 82945G/GZ/P/PL PCI Express Root
Port (rev 02) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=01, subordinate=03, sec-latency=0
       I/O behind bridge: 00009000-0000afff
       Memory behind bridge: fd000000-fd2fffff
       Prefetchable memory behind bridge: 00000000fcc00000-00000000fcdfffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [88] Subsystem: Intel Corporation Device 0000
       Capabilities: [80] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [90] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4159
       Capabilities: [a0] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #2, Speed 2.5GT/s, Width x16, ASPM L0s,
Latency L0 <1us, L1 <4us
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug- Surpise-
                       Slot # 21, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Off, PwrInd On, Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState-
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal-
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [140] Root Complex Link <?>
       Kernel driver in use: pcieport

00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ
Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
       Subsystem: Intel Corporation 82945G/GZ Integrated Graphics Controller
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin A routed to IRQ 5
       Region 0: Memory at fdf00000 (32-bit, non-prefetchable) [size=512K]
       Region 1: I/O ports at ff00 [size=8]
       Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M]
       Region 3: Memory at fdf80000 (32-bit, non-prefetchable) [size=256K]
       Capabilities: [90] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable-
               Address: 00000000  Data: 0000
       Capabilities: [d0] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express
Port 1 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
       I/O behind bridge: 00008000-00008fff
       Memory behind bridge: fde00000-fdefffff
       Prefetchable memory behind bridge: 00000000fdd00000-00000000fddfffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 10, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4161
       Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7
Family) PCI Express Port 1
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express
Port 2 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
       I/O behind bridge: 00007000-00007fff
       Memory behind bridge: fdc00000-fdcfffff
       Prefetchable memory behind bridge: 00000000fdb00000-00000000fdbfffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #2, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 11, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4169
       Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7
Family) PCI Express Port 2
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express
Port 3 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=06, subordinate=06, sec-latency=0
       I/O behind bridge: 00006000-00006fff
       Memory behind bridge: fda00000-fdafffff
       Prefetchable memory behind bridge: 00000000fd900000-00000000fd9fffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #3, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 12, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4171
       Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7
Family) PCI Express Port 3
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express
Port 4 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=07, subordinate=07, sec-latency=0
       I/O behind bridge: 0000d000-0000dfff
       Memory behind bridge: fd800000-fd8fffff
       Prefetchable memory behind bridge: 00000000fd700000-00000000fd7fffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #4, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 13, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4179
       Capabilities: [90] Subsystem: Intel Corporation 82801G (ICH7
Family) PCI Express Port 4
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1c.4 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI
Express Port 5 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=08, subordinate=08, sec-latency=0
       I/O behind bridge: 0000c000-0000cfff
       Memory behind bridge: fd600000-fd6fffff
       Prefetchable memory behind bridge: 00000000fd500000-00000000fd5fffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #5, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 14, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4181
       Capabilities: [90] Subsystem: Intel Corporation 82801GR/GH/GHM
(ICH7 Family) PCI Express Port 5
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1c.5 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI
Express Port 6 (rev 01) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=00, secondary=09, subordinate=09, sec-latency=0
       I/O behind bridge: 0000b000-0000bfff
       Memory behind bridge: fd400000-fd4fffff
       Prefetchable memory behind bridge: 00000000fd300000-00000000fd3fffff
       Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
                       ExtTag- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal+
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr+ TransPend-
               LnkCap: Port #6, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0 <256ns, L1 <4us
                       ClockPM- Suprise- LLActRep+ BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive+ BWMgmt- ABWMgmt-
               SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd-
HotPlug+ Surpise+
                       Slot # 15, PowerLimit 10.000000; Interlock- NoCompl-
               SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet-
CmdCplt- HPIrq- LinkChg-
                       Control: AttnInd Unknown, PwrInd Unknown,
Power- Interlock-
               SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt-
PresDet+ Interlock-
                       Changed: MRL- PresDet+ LinkState+
               RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+
PMEIntEna- CRSVisible-
               RootCap: CRSVisible-
               RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
Count=1/1 Enable+
               Address: fee0300c  Data: 4189
       Capabilities: [90] Subsystem: Intel Corporation 82801GR/GH/GHM
(ICH7 Family) PCI Express Port 6
       Capabilities: [a0] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [100] Virtual Channel <?>
       Capabilities: [180] Root Complex Link <?>
       Kernel driver in use: pcieport

00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB
UHCI Controller #1 (rev 01) (prog-if 00 [UHCI])
       Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1
       Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin A routed to IRQ 23
       Region 4: I/O ports at fe00 [size=32]
       Kernel driver in use: uhci_hcd
       Kernel modules: uhci-hcd

00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB
UHCI Controller #2 (rev 01) (prog-if 00 [UHCI])
       Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2
       Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin B routed to IRQ 19
       Region 4: I/O ports at fd00 [size=32]
       Kernel driver in use: uhci_hcd
       Kernel modules: uhci-hcd

00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB
UHCI Controller #3 (rev 01) (prog-if 00 [UHCI])
       Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3
       Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin C routed to IRQ 18
       Region 4: I/O ports at fc00 [size=32]
       Kernel driver in use: uhci_hcd
       Kernel modules: uhci-hcd

00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB
UHCI Controller #4 (rev 01) (prog-if 00 [UHCI])
       Subsystem: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4
       Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin D routed to IRQ 16
       Region 4: I/O ports at fb00 [size=32]
       Kernel driver in use: uhci_hcd
       Kernel modules: uhci-hcd

00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2
EHCI Controller (rev 01) (prog-if 20 [EHCI])
       Subsystem: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller
       Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin A routed to IRQ 23
       Region 0: Memory at fdfff000 (32-bit, non-prefetchable) [size=1K]
       Capabilities: [50] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [58] Debug port: BAR=1 offset=00a0
       Kernel driver in use: ehci_hcd
       Kernel modules: ehci-hcd

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
(prog-if 01 [Subtractive decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Bus: primary=00, secondary=0a, subordinate=0a, sec-latency=32
       I/O behind bridge: 0000e000-0000efff
       Memory behind bridge: fcf00000-fcffffff
       Prefetchable memory behind bridge: 00000000fce00000-00000000fcefffff
       Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort+ <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [50] Subsystem: Intel Corporation 82801 PCI Bridge

00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC
Interface Bridge (rev 01)
       Subsystem: Intel Corporation 82801GB/GR (ICH7 Family) LPC
Interface Bridge
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Capabilities: [e0] Vendor Specific Information <?>

00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE
Controller (rev 01) (prog-if 8a [Master SecP PriP])
       Subsystem: Intel Corporation 82801G (ICH7 Family) IDE Controller
       Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
       Latency: 0
       Interrupt: pin A routed to IRQ 18
       Region 0: I/O ports at 01f0 [size=8]
       Region 1: I/O ports at 03f4 [size=1]
       Region 2: I/O ports at 0170 [size=8]
       Region 3: I/O ports at 0374 [size=1]
       Region 4: I/O ports at fa00 [size=16]
       Kernel driver in use: PIIX_IDE
       Kernel modules: ata_piix

00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family)
SATA IDE Controller (rev 01) (prog-if 8f [Master SecP SecO PriP PriO])
       Subsystem: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA
IDE Controller
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Interrupt: pin B routed to IRQ 19
       Region 0: I/O ports at f900 [size=8]
       Region 1: I/O ports at f800 [size=4]
       Region 2: I/O ports at f700 [size=8]
       Region 3: I/O ports at f600 [size=4]
       Region 4: I/O ports at f500 [size=16]
       Region 5: Memory at fdffe000 (32-bit, non-prefetchable) [size=1K]
       Capabilities: [70] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Kernel driver in use: ata_piix
       Kernel modules: ata_piix

00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
       Subsystem: Intel Corporation 82801G (ICH7 Family) SMBus Controller
       Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Interrupt: pin B routed to IRQ 19
       Region 4: I/O ports at 0500 [size=32]
       Kernel driver in use: i801_smbus
       Kernel modules: i2c-i801

01:00.0 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI
Bridge A (rev 09) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=01, secondary=02, subordinate=02, sec-latency=64
       I/O behind bridge: 0000a000-0000afff
       Memory behind bridge: fd000000-fd0fffff
       Prefetchable memory behind bridge: 00000000fcd00000-00000000fcdfffff
       Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [44] Express (v1) PCI/PCI-X Bridge, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- BrConfRtry-
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s,
Latency L0 unlimited, L1 unlimited
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk- DLActive- BWMgmt- ABWMgmt-
       Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable-
               Address: 0000000000000000  Data: 0000
       Capabilities: [6c] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [d8] PCI-X bridge device
               Secondary Status: 64bit+ 133MHz+ SCD- USC- SCO- SRD- Freq=66MHz
               Status: Dev=01:00.0 64bit- 133MHz- SCD- USC- SCO- SRD-
               Upstream: Capacity=65535 CommitmentLimit=65535
               Downstream: Capacity=65535 CommitmentLimit=65535
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr+ BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [300] Power Budgeting <?>

01:00.1 PIC: Intel Corporation 6700/6702PXH I/OxAPIC Interrupt
Controller A (rev 09) (prog-if 20 [IO(X)-APIC])
       Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Region 0: Memory at fd2ff000 (32-bit, non-prefetchable) [size=4K]
       Capabilities: [44] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s,
Latency L0 unlimited, L1 unlimited
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [6c] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:00.2 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI
Bridge B (rev 09) (prog-if 00 [Normal decode])
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Bus: primary=01, secondary=03, subordinate=03, sec-latency=64
       I/O behind bridge: 00009000-00009fff
       Memory behind bridge: fd100000-fd1fffff
       Prefetchable memory behind bridge: 00000000fcc00000-00000000fccfffff
       Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- <SERR- <PERR-
       BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
               PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
       Capabilities: [44] Express (v1) PCI/PCI-X Bridge, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- BrConfRtry-
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s,
Latency L0 unlimited, L1 unlimited
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk- DLActive- BWMgmt- ABWMgmt-
       Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable-
               Address: 0000000000000000  Data: 0000
       Capabilities: [6c] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [d8] PCI-X bridge device
               Secondary Status: 64bit+ 133MHz+ SCD- USC- SCO- SRD- Freq=66MHz
               Status: Dev=01:00.2 64bit- 133MHz- SCD- USC- SCO- SRD-
               Upstream: Capacity=65535 CommitmentLimit=65535
               Downstream: Capacity=65535 CommitmentLimit=65535
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [300] Power Budgeting <?>

01:00.3 PIC: Intel Corporation 6700PXH I/OxAPIC Interrupt Controller B
(rev 09) (prog-if 20 [IO(X)-APIC])
       Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0
       Region 0: Memory at fd2fe000 (32-bit, non-prefetchable) [size=4K]
       Capabilities: [44] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<64ns, L1 <1us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                       MaxPayload 128 bytes, MaxReadReq 128 bytes
               DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s,
Latency L0 unlimited, L1 unlimited
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [6c] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-

04:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 47
       Region 0: Memory at fdee0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at 8f00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 41d1
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 10-c3-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

05:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 48
       Region 0: Memory at fdce0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at 7f00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 41e1
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 11-c3-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

06:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 49
       Region 0: Memory at fdae0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at 6f00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 412a
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 12-c3-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

07:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 50
       Region 0: Memory at fd8e0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at df00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 414a
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 13-c3-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

08:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 51
       Region 0: Memory at fd6e0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at cf00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 41b1
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 54-c6-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

09:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
Controller
       Subsystem: Intel Corporation Device 0000
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 52
       Region 0: Memory at fd4e0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at bf00 [size=32]
       Capabilities: [c8] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+
Count=1/1 Enable+
               Address: 00000000fee0300c  Data: 41b9
       Capabilities: [e0] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
<512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq-
AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
unknown, Latency L0 <128ns, L1 <64us
                       ClockPM+ Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
               AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
       Capabilities: [140] Device Serial Number 55-c6-17-ff-ff-f3-10-00
       Kernel driver in use: e1000e
       Kernel modules: e1000e

0a:07.0 Ethernet controller: Intel Corporation 82541GI Gigabit
Ethernet Controller (rev 05)
       Subsystem: Intel Corporation PRO/1000 MT Network Connection
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 252 (63750ns min), Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 17
       Region 0: Memory at fcfe0000 (32-bit, non-prefetchable) [size=128K]
       Region 1: Memory at fcfc0000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at ef00 [size=64]
       [virtual] Expansion ROM at fce00000 [disabled] [size=128K]
       Capabilities: [dc] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [e4] PCI-X non-bridge device
               Command: DPERE- ERO+ RBC=512 OST=1
               Status: Dev=00:00.0 64bit- 133MHz- SCD- USC- DC=simple
DMMRBC=2048 DMOST=1 DMCRS=8 RSCEM- 266MHz- 533MHz-
       Kernel driver in use: e1000
       Kernel modules: e1000

0a:09.0 Ethernet controller: Intel Corporation 82541GI Gigabit
Ethernet Controller (rev 05)
       Subsystem: Intel Corporation PRO/1000 MT Network Connection
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 252 (63750ns min), Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 19
       Region 0: Memory at fcfa0000 (32-bit, non-prefetchable) [size=128K]
       Region 1: Memory at fcf80000 (32-bit, non-prefetchable) [size=128K]
       Region 2: I/O ports at ee00 [size=64]
       [virtual] Expansion ROM at fce20000 [disabled] [size=128K]
       Capabilities: [dc] Power Management version 2
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
               Status: D0 PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [e4] PCI-X non-bridge device
               Command: DPERE- ERO+ RBC=512 OST=1
               Status: Dev=00:00.0 64bit- 133MHz- SCD- USC- DC=simple
DMMRBC=2048 DMOST=1 DMCRS=8 RSCEM- 266MHz- 533MHz-
       Kernel driver in use: e1000
       Kernel modules: e1000

8.6
/proc/scsi/scsi:
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
 Vendor: ATA      Model: ST380815AS       Rev: 4.AA
 Type:   Direct-Access                    ANSI  SCSI revision: 05

8.7
Unfortunately I am only able to reproduce the error on the following hardware:
Nexcom NSA-1068N7 (http://www.omtec.de/network-security-appliances/nsa-1086n7/

This is the file ospfd.conf:
hostname chgut11fw01
log syslog

interface gAAchgut1
       ip ospf network point-to-point
       ip ospf authentication-key hallowel
       ip ospf cost 15
       ip ospf hello-interval 2
       ip ospf dead-interval 10

interface eth0
interface eth1
interface eth2
interface eth3
interface lo

router ospf
       ospf router-id 172.16.111.1
       auto-cost reference-bandwidth 1
       redistribute kernel route-map mynet
       no ospf rfc1583compatibility
       passive-interface eth0
       passive-interface eth1
       passive-interface eth2
       passive-interface eth3
       network 10.254.11.1/32 area 0
       network 10.254.1.11/32 area 0
       network 172.16.111.0/24 area 0

access-list 99 permit 172.16.111.0 0.0.0.255
access-list 99 deny any
route-map mynet permit 10
       match ip address 99
line vty

Please let me know if I forgot something to add.

Thanks for any help.

Best regards
Elmar Vonlanthen

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
@ 2011-10-14  8:08 Elmar Vonlanthen
  2011-10-14 14:57 ` Eric Dumazet
  0 siblings, 1 reply; 35+ messages in thread
From: Elmar Vonlanthen @ 2011-10-14  8:08 UTC (permalink / raw)
  To: linux-kernel

Hello again

Kernel 3.0.6 is affected as well.

2011-10-14 09:50:46 chgut11fw01 kernel: skb_over_panic: text:c13059c9
len:64 put:64 head:c730c400 data:c730c450 tail:0xc730c490
end:0xc730c480 dev:<NULL>
2011-10-14 09:50:46 chgut11fw01 kernel: ------------[ cut here ]------------
2011-10-14 09:50:46 chgut11fw01 kernel: kernel BUG at net/core/skbuff.c:128!
2011-10-14 09:50:46 chgut11fw01 kernel: invalid opcode: 0000 [#1] SMP
2011-10-14 09:50:46 chgut11fw01 kernel: Modules linked in: ip_gre gre
authenc xfrm4_mode_transport deflate zlib_deflate ctr twofish_generic
twofish_common serpent cryptd aes_i586 aes_generic blowfish cast5 cbc
ecb rmd160 sha512_generic sha256_generic sha1_generic xfrm_user
xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG
xt_limit ipt_REJECT xt_state ipt_REDIRECT ipt_MASQUERADE xt_policy
xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK iptable_filter iptable_nat
xt_mark xt_connmark iptable_mangle iptable_raw ip_tables x_tables
nf_conntrack_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4
nf_conntrack_ftp nf_conntrack rtc ppdev parport_pc parport w83792d
i2c_dev i2c_i801 i2c_core pl2303 usbserial coretemp hwmon usbhid
ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e aufs ata_piix libata
2011-10-14 09:50:46 chgut11fw01 kernel:
2011-10-14 09:50:46 chgut11fw01 kernel: Pid: 6299, comm: ospfd Not
tainted 3.0.6-SMP #1    /LakePort
2011-10-14 09:50:46 chgut11fw01 kernel: EIP: 0060:[<c12b6815>] EFLAGS:
00010292 CPU: 0
2011-10-14 09:50:46 chgut11fw01 kernel: EIP is at skb_put+0x85/0x90
2011-10-14 09:50:46 chgut11fw01 kernel: EAX: 00000078 EBX: c13059c9
ECX: 00000096 EDX: ffffff8b
2011-10-14 09:50:46 chgut11fw01 kernel: ESI: deac4a80 EDI: 00000040
EBP: d8979c80 ESP: d8979c58
2011-10-14 09:50:46 chgut11fw01 kernel: DS: 007b ES: 007b FS: 00d8 GS:
0033 SS: 0068
2011-10-14 09:50:46 chgut11fw01 kernel: Process ospfd (pid: 6299,
ti=d8978000 task=de94ee80 task.ti=d8978000)
2011-10-14 09:50:46 chgut11fw01 kernel: Stack:
2011-10-14 09:50:46 chgut11fw01 kernel: c13fd194 c13059c9 00000040
00000040 c730c400 c730c450 c730c490 c730c480
2011-10-14 09:50:46 chgut11fw01 kernel: c13fb21c d897da40 d8979d38
c13059c9 d8979d24 8db04700 00000001 00000001
2011-10-14 09:50:46 chgut11fw01 kernel: d8979ce4 d8979cc8 c121ce7d
00000000 000012b5 d8979ecc dbff0c00 c730c450
2011-10-14 09:50:46 chgut11fw01 kernel: Call Trace:
2011-10-14 09:50:46 chgut11fw01 kernel: [<c13059c9>] ? raw_sendmsg+0x5a9/0x850
2011-10-14 09:50:46 chgut11fw01 kernel: [<c13059c9>] raw_sendmsg+0x5a9/0x850
2011-10-14 09:50:46 chgut11fw01 kernel: [<c121ce7d>] ? extract_entropy+0x5d/0x70
2011-10-14 09:50:46 chgut11fw01 kernel: [<c1027f73>] ?
try_to_wake_up+0x173/0x1f0
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b2700>] ? release_sock+0xb0/0xd0
2011-10-14 09:50:46 chgut11fw01 kernel: [<c130f222>] inet_sendmsg+0x42/0xa0
2011-10-14 09:50:46 chgut11fw01 kernel: [<c1021407>] ?
__wake_up_sync_key+0x47/0x60
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12afc07>] sock_sendmsg+0xa7/0xd0
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b29f3>] ?
sock_def_readable+0x33/0x60
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12afc07>] ? sock_sendmsg+0xa7/0xd0
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b8e83>] ? verify_iovec+0x53/0xb0
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b08e4>] __sys_sendmsg+0x2d4/0x2e0
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12afc9e>] ?
sockfd_lookup_light+0x1e/0x70
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b02fa>] ? sys_sendto+0xaa/0xe0
2011-10-14 09:50:46 chgut11fw01 kernel: [<c102f928>] ? nsecs_to_jiffies+0x8/0x10
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12eaf11>] ? ip_setsockopt+0x41/0xa0
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b0a36>] sys_sendmsg+0x36/0x60
2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b1669>] sys_socketcall+0xe9/0x280
2011-10-14 09:50:46 chgut11fw01 kernel: [<c133d8c5>] syscall_call+0x7/0xb
2011-10-14 09:50:46 chgut11fw01 kernel: [<c1330000>] ?
packet_recvmsg+0x170/0x440
2011-10-14 09:50:46 chgut11fw01 kernel: Code: 00 00 89 4c 24 14 8b 88
a4 00 00 00 89 54 24 0c 89 4c 24 10 8b 40 50 89 5c 24 04 c7 04 24 94
d1 3f c1 89 44 24 08 e8 b4 4b 08 00 <0f> 0b eb fe b9 1c b2 3f c1 eb ae
55 89 e5 57 56 89 d6 53 89 c3
2011-10-14 09:50:46 chgut11fw01 kernel: EIP: [<c12b6815>]
skb_put+0x85/0x90 SS:ESP 0068:d8979c58
2011-10-14 09:50:46 chgut11fw01 kernel: ---[ end trace ff341104610beeed ]---

This is the output of "decodecode":

whiskey /usr/src/linux-3.0.6 # scripts/decodecode < oops.txt
2011-10-14 09:50:46 chgut11fw01 kernel: Code: 00 00 89 4c 24 14 8b 88
a4 00 00 00 89 54 24 0c 89 4c 24 10 8b 40 50 89 5c 24 04 c7 04 24 94
d1 3f c1 89 44 24 08 e8 b4 4b 08 00 <0f> 0b eb fe b9 1c b2 3f c1 eb ae
55 89 e5 57 56 89 d6 53 89 c3
All code
========
   0:   00 00                   add    %al,(%eax)
   2:   89 4c 24 14             mov    %ecx,0x14(%esp)
   6:   8b 88 a4 00 00 00       mov    0xa4(%eax),%ecx
   c:   89 54 24 0c             mov    %edx,0xc(%esp)
  10:   89 4c 24 10             mov    %ecx,0x10(%esp)
  14:   8b 40 50                mov    0x50(%eax),%eax
  17:   89 5c 24 04             mov    %ebx,0x4(%esp)
  1b:   c7 04 24 94 d1 3f c1    movl   $0xc13fd194,(%esp)
  22:   89 44 24 08             mov    %eax,0x8(%esp)
  26:   e8 b4 4b 08 00          call   0x84bdf
  2b:*  0f 0b                   ud2a        <-- trapping instruction
  2d:   eb fe                   jmp    0x2d
  2f:   b9 1c b2 3f c1          mov    $0xc13fb21c,%ecx
  34:   eb ae                   jmp    0xffffffe4
  36:   55                      push   %ebp
  37:   89 e5                   mov    %esp,%ebp
  39:   57                      push   %edi
  3a:   56                      push   %esi
  3b:   89 d6                   mov    %edx,%esi
  3d:   53                      push   %ebx
  3e:   89 c3                   mov    %eax,%ebx

Code starting with the faulting instruction
===========================================
   0:   0f 0b                   ud2a
   2:   eb fe                   jmp    0x2
   4:   b9 1c b2 3f c1          mov    $0xc13fb21c,%ecx
   9:   eb ae                   jmp    0xffffffb9
   b:   55                      push   %ebp
   c:   89 e5                   mov    %esp,%ebp
   e:   57                      push   %edi
   f:   56                      push   %esi
  10:   89 d6                   mov    %edx,%esi
  12:   53                      push   %ebx
  13:   89 c3                   mov    %eax,%ebx

Could anyone give me a hint, how I can furher proceed to find the error?
Thanks.

Best regards
Elmar

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-14  8:08 PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops Elmar Vonlanthen
@ 2011-10-14 14:57 ` Eric Dumazet
  2011-10-17  7:16   ` Elmar Vonlanthen
  0 siblings, 1 reply; 35+ messages in thread
From: Eric Dumazet @ 2011-10-14 14:57 UTC (permalink / raw)
  To: Elmar Vonlanthen; +Cc: linux-kernel, netdev, Timo Teräs, Herbert Xu

Le vendredi 14 octobre 2011 à 10:08 +0200, Elmar Vonlanthen a écrit :
> Hello again
> 
> Kernel 3.0.6 is affected as well.
> 
> 2011-10-14 09:50:46 chgut11fw01 kernel: skb_over_panic: text:c13059c9
> len:64 put:64 head:c730c400 data:c730c450 tail:0xc730c490
> end:0xc730c480 dev:<NULL>
> 2011-10-14 09:50:46 chgut11fw01 kernel: ------------[ cut here ]------------
> 2011-10-14 09:50:46 chgut11fw01 kernel: kernel BUG at net/core/skbuff.c:128!
> 2011-10-14 09:50:46 chgut11fw01 kernel: invalid opcode: 0000 [#1] SMP
> 2011-10-14 09:50:46 chgut11fw01 kernel: Modules linked in: ip_gre gre
> authenc xfrm4_mode_transport deflate zlib_deflate ctr twofish_generic
> twofish_common serpent cryptd aes_i586 aes_generic blowfish cast5 cbc
> ecb rmd160 sha512_generic sha256_generic sha1_generic xfrm_user
> xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 af_key tun ipt_LOG
> xt_limit ipt_REJECT xt_state ipt_REDIRECT ipt_MASQUERADE xt_policy
> xt_TCPMSS xt_tcpmss xt_tcpudp xt_NOTRACK iptable_filter iptable_nat
> xt_mark xt_connmark iptable_mangle iptable_raw ip_tables x_tables
> nf_conntrack_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4
> nf_conntrack_ftp nf_conntrack rtc ppdev parport_pc parport w83792d
> i2c_dev i2c_i801 i2c_core pl2303 usbserial coretemp hwmon usbhid
> ohci_hcd uhci_hcd ehci_hcd usbcore e1000 e1000e aufs ata_piix libata
> 2011-10-14 09:50:46 chgut11fw01 kernel:
> 2011-10-14 09:50:46 chgut11fw01 kernel: Pid: 6299, comm: ospfd Not
> tainted 3.0.6-SMP #1    /LakePort
> 2011-10-14 09:50:46 chgut11fw01 kernel: EIP: 0060:[<c12b6815>] EFLAGS:
> 00010292 CPU: 0
> 2011-10-14 09:50:46 chgut11fw01 kernel: EIP is at skb_put+0x85/0x90
> 2011-10-14 09:50:46 chgut11fw01 kernel: EAX: 00000078 EBX: c13059c9
> ECX: 00000096 EDX: ffffff8b
> 2011-10-14 09:50:46 chgut11fw01 kernel: ESI: deac4a80 EDI: 00000040
> EBP: d8979c80 ESP: d8979c58
> 2011-10-14 09:50:46 chgut11fw01 kernel: DS: 007b ES: 007b FS: 00d8 GS:
> 0033 SS: 0068
> 2011-10-14 09:50:46 chgut11fw01 kernel: Process ospfd (pid: 6299,
> ti=d8978000 task=de94ee80 task.ti=d8978000)
> 2011-10-14 09:50:46 chgut11fw01 kernel: Stack:
> 2011-10-14 09:50:46 chgut11fw01 kernel: c13fd194 c13059c9 00000040
> 00000040 c730c400 c730c450 c730c490 c730c480
> 2011-10-14 09:50:46 chgut11fw01 kernel: c13fb21c d897da40 d8979d38
> c13059c9 d8979d24 8db04700 00000001 00000001
> 2011-10-14 09:50:46 chgut11fw01 kernel: d8979ce4 d8979cc8 c121ce7d
> 00000000 000012b5 d8979ecc dbff0c00 c730c450
> 2011-10-14 09:50:46 chgut11fw01 kernel: Call Trace:
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c13059c9>] ? raw_sendmsg+0x5a9/0x850
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c13059c9>] raw_sendmsg+0x5a9/0x850
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c121ce7d>] ? extract_entropy+0x5d/0x70
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c1027f73>] ?
> try_to_wake_up+0x173/0x1f0
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b2700>] ? release_sock+0xb0/0xd0
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c130f222>] inet_sendmsg+0x42/0xa0
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c1021407>] ?
> __wake_up_sync_key+0x47/0x60
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12afc07>] sock_sendmsg+0xa7/0xd0
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b29f3>] ?
> sock_def_readable+0x33/0x60
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12afc07>] ? sock_sendmsg+0xa7/0xd0
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b8e83>] ? verify_iovec+0x53/0xb0
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b08e4>] __sys_sendmsg+0x2d4/0x2e0
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12afc9e>] ?
> sockfd_lookup_light+0x1e/0x70
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b02fa>] ? sys_sendto+0xaa/0xe0
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c102f928>] ? nsecs_to_jiffies+0x8/0x10
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12eaf11>] ? ip_setsockopt+0x41/0xa0
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b0a36>] sys_sendmsg+0x36/0x60
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c12b1669>] sys_socketcall+0xe9/0x280
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c133d8c5>] syscall_call+0x7/0xb
> 2011-10-14 09:50:46 chgut11fw01 kernel: [<c1330000>] ?
> packet_recvmsg+0x170/0x440
> 2011-10-14 09:50:46 chgut11fw01 kernel: Code: 00 00 89 4c 24 14 8b 88
> a4 00 00 00 89 54 24 0c 89 4c 24 10 8b 40 50 89 5c 24 04 c7 04 24 94
> d1 3f c1 89 44 24 08 e8 b4 4b 08 00 <0f> 0b eb fe b9 1c b2 3f c1 eb ae
> 55 89 e5 57 56 89 d6 53 89 c3
> 2011-10-14 09:50:46 chgut11fw01 kernel: EIP: [<c12b6815>]
> skb_put+0x85/0x90 SS:ESP 0068:d8979c58
> 2011-10-14 09:50:46 chgut11fw01 kernel: ---[ end trace ff341104610beeed ]---

> Could anyone give me a hint, how I can furher proceed to find the error?
> Thanks.

Please try following patch :

[PATCH] ip_gre: dont increase dev->needed_headroom on a live device

It seems ip_gre is able to change dev->needed_headroom on the fly.

Its is not legal unfortunately and triggers a BUG in raw_sendmsg()

skb = sock_alloc_send_skb(sk, ... + LL_ALLOCATED_SPACE(rt->dst.dev) 

< another cpu change dev->needed_headromm (making it bigger)

...
skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));

We end with LL_RESERVED_SPACE() being bigger than LL_ALLOCATED_SPACE()
-> we crash later because skb head is exhausted.

Bug introduced in commit 243aad83 in 2.6.34 (ip_gre: include route
header_len in max_headroom calculation)

Reported-by: Elmar Vonlanthen <evonlanthen@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Timo Teräs <timo.teras@iki.fi>
CC: Herbert Xu <herbert@gondor.apana.org.au>
---
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index 8871067..1505dcf 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -835,8 +835,6 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
 	if (skb_headroom(skb) < max_headroom || skb_shared(skb)||
 	    (skb_cloned(skb) && !skb_clone_writable(skb, 0))) {
 		struct sk_buff *new_skb = skb_realloc_headroom(skb, max_headroom);
-		if (max_headroom > dev->needed_headroom)
-			dev->needed_headroom = max_headroom;
 		if (!new_skb) {
 			ip_rt_put(rt);
 			dev->stats.tx_dropped++;




^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-14 14:57 ` Eric Dumazet
@ 2011-10-17  7:16   ` Elmar Vonlanthen
  2011-10-18  2:30     ` Eric Dumazet
  0 siblings, 1 reply; 35+ messages in thread
From: Elmar Vonlanthen @ 2011-10-17  7:16 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: linux-kernel, netdev, Timo Teräs, Herbert Xu

2011/10/14 Eric Dumazet <eric.dumazet@gmail.com>:
> Please try following patch :
>
> [PATCH] ip_gre: dont increase dev->needed_headroom on a live device
>
> It seems ip_gre is able to change dev->needed_headroom on the fly.
>
> Its is not legal unfortunately and triggers a BUG in raw_sendmsg()
>
> skb = sock_alloc_send_skb(sk, ... + LL_ALLOCATED_SPACE(rt->dst.dev)
>
> < another cpu change dev->needed_headromm (making it bigger)
>
> ...
> skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));
>
> We end with LL_RESERVED_SPACE() being bigger than LL_ALLOCATED_SPACE()
> -> we crash later because skb head is exhausted.
>
> Bug introduced in commit 243aad83 in 2.6.34 (ip_gre: include route
> header_len in max_headroom calculation)
>
> Reported-by: Elmar Vonlanthen <evonlanthen@gmail.com>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
> CC: Timo Teräs <timo.teras@iki.fi>
> CC: Herbert Xu <herbert@gondor.apana.org.au>
> ---
> diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
> index 8871067..1505dcf 100644
> --- a/net/ipv4/ip_gre.c
> +++ b/net/ipv4/ip_gre.c
> @@ -835,8 +835,6 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
>        if (skb_headroom(skb) < max_headroom || skb_shared(skb)||
>            (skb_cloned(skb) && !skb_clone_writable(skb, 0))) {
>                struct sk_buff *new_skb = skb_realloc_headroom(skb, max_headroom);
> -               if (max_headroom > dev->needed_headroom)
> -                       dev->needed_headroom = max_headroom;
>                if (!new_skb) {
>                        ip_rt_put(rt);
>                        dev->stats.tx_dropped++;

Hello

I tried this patch and I was not able anymore to reproduce the kernel
oops. So the patch solved the bug.
Thank you very much!

Would it be possible to add the patch to the long term kernel 2.6.35
as well? Because this is the one I use at the moment in production.

And sorry for posting to the wrong mailing list (linux-kernel).

Best regards
Elmar

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-17  7:16   ` Elmar Vonlanthen
@ 2011-10-18  2:30     ` Eric Dumazet
  2011-10-18  9:34       ` Herbert Xu
  0 siblings, 1 reply; 35+ messages in thread
From: Eric Dumazet @ 2011-10-18  2:30 UTC (permalink / raw)
  To: Elmar Vonlanthen; +Cc: linux-kernel, netdev, Timo Teräs, Herbert Xu

Le lundi 17 octobre 2011 à 09:16 +0200, Elmar Vonlanthen a écrit :
> 2011/10/14 Eric Dumazet <eric.dumazet@gmail.com>:
> > Please try following patch :
> >
> > [PATCH] ip_gre: dont increase dev->needed_headroom on a live device
> >
> > It seems ip_gre is able to change dev->needed_headroom on the fly.
> >
> > Its is not legal unfortunately and triggers a BUG in raw_sendmsg()
> >
> > skb = sock_alloc_send_skb(sk, ... + LL_ALLOCATED_SPACE(rt->dst.dev)
> >
> > < another cpu change dev->needed_headromm (making it bigger)
> >
> > ...
> > skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));
> >
> > We end with LL_RESERVED_SPACE() being bigger than LL_ALLOCATED_SPACE()
> > -> we crash later because skb head is exhausted.
> >
> > Bug introduced in commit 243aad83 in 2.6.34 (ip_gre: include route
> > header_len in max_headroom calculation)
> >
> > Reported-by: Elmar Vonlanthen <evonlanthen@gmail.com>
> > Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
> > CC: Timo Teräs <timo.teras@iki.fi>
> > CC: Herbert Xu <herbert@gondor.apana.org.au>
> > ---
> > diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
> > index 8871067..1505dcf 100644
> > --- a/net/ipv4/ip_gre.c
> > +++ b/net/ipv4/ip_gre.c
> > @@ -835,8 +835,6 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
> >        if (skb_headroom(skb) < max_headroom || skb_shared(skb)||
> >            (skb_cloned(skb) && !skb_clone_writable(skb, 0))) {
> >                struct sk_buff *new_skb = skb_realloc_headroom(skb, max_headroom);
> > -               if (max_headroom > dev->needed_headroom)
> > -                       dev->needed_headroom = max_headroom;
> >                if (!new_skb) {
> >                        ip_rt_put(rt);
> >                        dev->stats.tx_dropped++;
> 
> Hello
> 
> I tried this patch and I was not able anymore to reproduce the kernel
> oops. So the patch solved the bug.
> Thank you very much!
> 
> Would it be possible to add the patch to the long term kernel 2.6.35
> as well? Because this is the one I use at the moment in production.
> 

Thanks for testing.

If David/Herbert/Timo agree, then patch should find its way into current
kernel, then to stable trees as well.

Thanks



^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-18  2:30     ` Eric Dumazet
@ 2011-10-18  9:34       ` Herbert Xu
  2011-10-18 10:01         ` Eric Dumazet
  0 siblings, 1 reply; 35+ messages in thread
From: Herbert Xu @ 2011-10-18  9:34 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Elmar Vonlanthen, linux-kernel, netdev, Timo Teräs

On Tue, Oct 18, 2011 at 04:30:32AM +0200, Eric Dumazet wrote:
>
> If David/Herbert/Timo agree, then patch should find its way into current
> kernel, then to stable trees as well.

Actually, I think we should instead fix the users of needed_headroom
to not read it twice which is causing problems here.

GRE tunnels by their nature do not have a fixed value for
needed_headroom.  As the underlying routes change the necessary
headroom may need to be adjusted due to further encapsulation such
as IPsec.

Keeping it constant from tunnel creation may result in suboptimal
performance due to unnecessary header reallocations.

However, until we audit the stack to see if there are further
instances of double-readings such as the one causing the crash
here, I'm fine with your patch making it constant.

Once we're sure that all of the double-readings are gone we
can revert to a dynamic needed_headroom.

Thanks,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-18  9:34       ` Herbert Xu
@ 2011-10-18 10:01         ` Eric Dumazet
  2011-10-18 10:05           ` Herbert Xu
  0 siblings, 1 reply; 35+ messages in thread
From: Eric Dumazet @ 2011-10-18 10:01 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Elmar Vonlanthen, linux-kernel, netdev, Timo Teräs

Le mardi 18 octobre 2011 à 11:34 +0200, Herbert Xu a écrit :
> On Tue, Oct 18, 2011 at 04:30:32AM +0200, Eric Dumazet wrote:
> >
> > If David/Herbert/Timo agree, then patch should find its way into current
> > kernel, then to stable trees as well.
> 
> Actually, I think we should instead fix the users of needed_headroom
> to not read it twice which is causing problems here.
> 
> GRE tunnels by their nature do not have a fixed value for
> needed_headroom.  As the underlying routes change the necessary
> headroom may need to be adjusted due to further encapsulation such
> as IPsec.
> 
> Keeping it constant from tunnel creation may result in suboptimal
> performance due to unnecessary header reallocations.
> 
> However, until we audit the stack to see if there are further
> instances of double-readings such as the one causing the crash
> here, I'm fine with your patch making it constant.
> 
> Once we're sure that all of the double-readings are gone we
> can revert to a dynamic needed_headroom.
> 

Sure, we can work on this path for future kernels.

Adding an RCU protected structure to hold hard_header_len /
needed_headroom / needed_tailroom should be possible, but this adds yet
another pointer dereference...

Thanks !



^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-18 10:01         ` Eric Dumazet
@ 2011-10-18 10:05           ` Herbert Xu
  2011-10-18 10:23             ` Eric Dumazet
  0 siblings, 1 reply; 35+ messages in thread
From: Herbert Xu @ 2011-10-18 10:05 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Elmar Vonlanthen, linux-kernel, netdev, Timo Teräs

On Tue, Oct 18, 2011 at 12:01:33PM +0200, Eric Dumazet wrote:
>
> Adding an RCU protected structure to hold hard_header_len /
> needed_headroom / needed_tailroom should be possible, but this adds yet
> another pointer dereference...

I don't think we need RCU here since the problem is simply that
we're using two different values for skb allocations and skb_reserve.

As long as we use one and the same value it should work.  The value
will rarely be incorrect and when it is, automatic reallocation will
occur.

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-18 10:05           ` Herbert Xu
@ 2011-10-18 10:23             ` Eric Dumazet
  2011-10-18 10:45               ` Herbert Xu
  0 siblings, 1 reply; 35+ messages in thread
From: Eric Dumazet @ 2011-10-18 10:23 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Elmar Vonlanthen, linux-kernel, netdev, Timo Teräs

Le mardi 18 octobre 2011 à 12:05 +0200, Herbert Xu a écrit :
> On Tue, Oct 18, 2011 at 12:01:33PM +0200, Eric Dumazet wrote:
> >
> > Adding an RCU protected structure to hold hard_header_len /
> > needed_headroom / needed_tailroom should be possible, but this adds yet
> > another pointer dereference...
> 
> I don't think we need RCU here since the problem is simply that
> we're using two different values for skb allocations and skb_reserve.
> 
> As long as we use one and the same value it should work.  The value
> will rarely be incorrect and when it is, automatic reallocation will
> occur.
> 

You're right, if reallocations are OK in all paths.

We'll need to change LL_RESERVED_SPACE() / LL_RESERVED_SPACE_EXTRA() /
LL_ALLOCATED_SPACE() macros and provide the [read once] values, instead
of a [read once] pointer to values.

Thats a bit complex change, but doable.



^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-18 10:23             ` Eric Dumazet
@ 2011-10-18 10:45               ` Herbert Xu
  2011-10-18 11:37                 ` Eric Dumazet
  0 siblings, 1 reply; 35+ messages in thread
From: Herbert Xu @ 2011-10-18 10:45 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Elmar Vonlanthen, linux-kernel, netdev, Timo Teräs

On Tue, Oct 18, 2011 at 12:23:43PM +0200, Eric Dumazet wrote:
> 
> You're right, if reallocations are OK in all paths.

If it wasn't OK then making needed_headroom constant won't work
anyway.

> We'll need to change LL_RESERVED_SPACE() / LL_RESERVED_SPACE_EXTRA() /
> LL_ALLOCATED_SPACE() macros and provide the [read once] values, instead
> of a [read once] pointer to values.

I'm not sure what you mean here.  I don't see any need to change
these macros.  All we need is to save the value in a local variable:

	hh_len = LL_RESERVED_SPACE(dev);

	skb = alloc_skb(hh_len + len);
	skb_reserve(skb, hh_len);

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-18 10:45               ` Herbert Xu
@ 2011-10-18 11:37                 ` Eric Dumazet
  2011-10-18 11:49                   ` Herbert Xu
  0 siblings, 1 reply; 35+ messages in thread
From: Eric Dumazet @ 2011-10-18 11:37 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Elmar Vonlanthen, linux-kernel, netdev, Timo Teräs

Le mardi 18 octobre 2011 à 12:45 +0200, Herbert Xu a écrit :
> On Tue, Oct 18, 2011 at 12:23:43PM +0200, Eric Dumazet wrote:
> > 
> > You're right, if reallocations are OK in all paths.
> 
> If it wasn't OK then making needed_headroom constant won't work
> anyway.
> 
> > We'll need to change LL_RESERVED_SPACE() / LL_RESERVED_SPACE_EXTRA() /
> > LL_ALLOCATED_SPACE() macros and provide the [read once] values, instead
> > of a [read once] pointer to values.
> 
> I'm not sure what you mean here.  I don't see any need to change
> these macros.  All we need is to save the value in a local variable:
> 
> 	hh_len = LL_RESERVED_SPACE(dev);
> 
> 	skb = alloc_skb(hh_len + len);
> 	skb_reserve(skb, hh_len);
> 

Not really Herbert. Please read again my patch changelog.

In the bug we try to fix, we have :

skb = sock_alloc_send_skb(sk, ... + LL_ALLOCATED_SPACE(rt->dst.dev) 

... < increase of dev->needed_headroom by another cpu/task >

skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));

skb_put() -> crash because we reserved too much space

So we really want LL_ALLOCATED_SPACE() and LL_RESERVED_SPACE() use the
same needed_headroom, or else you can have LL_RESERVED_SPACE() >
LL_ALLOCATED_SPACE().

There are several way to fix this, but this kind of code assumed the
dev->needed... values were consistent for the whole block.




^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-18 11:37                 ` Eric Dumazet
@ 2011-10-18 11:49                   ` Herbert Xu
  2011-10-18 12:56                     ` Eric Dumazet
  0 siblings, 1 reply; 35+ messages in thread
From: Herbert Xu @ 2011-10-18 11:49 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Elmar Vonlanthen, linux-kernel, netdev, Timo Teräs

On Tue, Oct 18, 2011 at 01:37:58PM +0200, Eric Dumazet wrote:
>
> In the bug we try to fix, we have :
> 
> skb = sock_alloc_send_skb(sk, ... + LL_ALLOCATED_SPACE(rt->dst.dev) 
> 
> ... < increase of dev->needed_headroom by another cpu/task >
> 
> skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));

OK, in that case one fix would be to replace LL_ALLOCATED_SPACE
with its two constiuents so that they may be stored in local
variables for later use.

	hlen = LL_HEADROOM(skb);
	tlen = LL_TAILROOM(skb);
	skb_alloc_send_skb(sk, ... + LL_ALIGN(hlen + tlen));

	skb_reserve(skb, LL_ALIGN(hlen));

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-18 11:49                   ` Herbert Xu
@ 2011-10-18 12:56                     ` Eric Dumazet
  2011-10-18 13:45                       ` Herbert Xu
  0 siblings, 1 reply; 35+ messages in thread
From: Eric Dumazet @ 2011-10-18 12:56 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Elmar Vonlanthen, linux-kernel, netdev, Timo Teräs

Le mardi 18 octobre 2011 à 13:49 +0200, Herbert Xu a écrit :
> On Tue, Oct 18, 2011 at 01:37:58PM +0200, Eric Dumazet wrote:
> >
> > In the bug we try to fix, we have :
> > 
> > skb = sock_alloc_send_skb(sk, ... + LL_ALLOCATED_SPACE(rt->dst.dev) 
> > 
> > ... < increase of dev->needed_headroom by another cpu/task >
> > 
> > skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));
> 
> OK, in that case one fix would be to replace LL_ALLOCATED_SPACE
> with its two constiuents so that they may be stored in local
> variables for later use.
> 
> 	hlen = LL_HEADROOM(skb);
> 	tlen = LL_TAILROOM(skb);
> 	skb_alloc_send_skb(sk, ... + LL_ALIGN(hlen + tlen));
> 
> 	skb_reserve(skb, LL_ALIGN(hlen));
> 
> Cheers,

I am ok by this way, but we might hit another similar problem elsewhere.

(igmp.c ip6_output, ...)

We effectively want to remove LL_ALLOCATED_SPACE() usage and obfuscate
code...


[PATCH] raw: allow dev->needed_headroom dynamic change

It seems ip_gre is able to change dev->needed_headroom on the fly.

It triggers a BUG in raw_sendmsg()

skb = sock_alloc_send_skb(sk, ... + LL_ALLOCATED_SPACE(rt->dst.dev) 

< another cpu change dev->needed_headromm (making it bigger)

...
skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));

We end with LL_RESERVED_SPACE() being bigger than LL_ALLOCATED_SPACE()
-> we crash later because skb head is exhausted.

Bug introduced in commit 243aad83 in 2.6.34 (ip_gre: include route
header_len in max_headroom calculation)

Reported-by: Reported-by: Elmar Vonlanthen <evonlanthen@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Timo Teräs <timo.teras@iki.fi>
CC: Herbert Xu <herbert@gondor.apana.org.au>
---
 include/linux/netdevice.h |   10 +++++++---
 net/ipv4/raw.c            |    9 +++++++--
 net/ipv6/raw.c            |    9 +++++++--
 3 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index ddee79b..dba2399 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -276,12 +276,16 @@ struct hh_cache {
  * LL_ALLOCATED_SPACE also takes into account the tailroom the device
  * may need.
  */
+#define LL_ALIGN(__len) (((__len)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
+
 #define LL_RESERVED_SPACE(dev) \
-	((((dev)->hard_header_len+(dev)->needed_headroom)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
+	LL_ALIGN((dev)->hard_header_len + (dev)->needed_headroom))
+
 #define LL_RESERVED_SPACE_EXTRA(dev,extra) \
-	((((dev)->hard_header_len+(dev)->needed_headroom+(extra))&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
+	LL_ALIGN((dev)->hard_header_len + (dev)->needed_headroom + (extra))
+
 #define LL_ALLOCATED_SPACE(dev) \
-	((((dev)->hard_header_len+(dev)->needed_headroom+(dev)->needed_tailroom)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
+	LL_ALIGN((dev)->hard_header_len + (dev)->needed_headroom + (dev)->needed_tailroom)
 
 struct header_ops {
 	int	(*create) (struct sk_buff *skb, struct net_device *dev,
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
index 61714bd..4ed4eda 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -326,6 +326,9 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
 	unsigned int iphlen;
 	int err;
 	struct rtable *rt = *rtp;
+	unsigned int hard_header_len = rt->dst.dev->hard_header_len;
+	unsigned int needed_headroom = rt->dst.dev->needed_headroom;
+	unsigned int needed_tailroom = rt->dst.dev->needed_tailroom;
 
 	if (length > rt->dst.dev->mtu) {
 		ip_local_error(sk, EMSGSIZE, fl4->daddr, inet->inet_dport,
@@ -336,11 +339,13 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
 		goto out;
 
 	skb = sock_alloc_send_skb(sk,
-				  length + LL_ALLOCATED_SPACE(rt->dst.dev) + 15,
+				  length + LL_ALIGN(hard_header_len +
+						    needed_headroom +
+					            needed_tailroom) + 15,
 				  flags & MSG_DONTWAIT, &err);
 	if (skb == NULL)
 		goto error;
-	skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));
+	skb_reserve(skb, LL_ALIGN(hard_header_len + needed_headroom));
 
 	skb->priority = sk->sk_priority;
 	skb->mark = sk->sk_mark;
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 343852e..eb0a797 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -610,6 +610,9 @@ static int rawv6_send_hdrinc(struct sock *sk, void *from, int length,
 	struct sk_buff *skb;
 	int err;
 	struct rt6_info *rt = (struct rt6_info *)*dstp;
+	unsigned int hard_header_len = rt->dst.dev->hard_header_len;
+	unsigned int needed_headroom = rt->dst.dev->needed_headroom;
+	unsigned int needed_tailroom = rt->dst.dev->needed_tailroom;
 
 	if (length > rt->dst.dev->mtu) {
 		ipv6_local_error(sk, EMSGSIZE, fl6, rt->dst.dev->mtu);
@@ -619,11 +622,13 @@ static int rawv6_send_hdrinc(struct sock *sk, void *from, int length,
 		goto out;
 
 	skb = sock_alloc_send_skb(sk,
-				  length + LL_ALLOCATED_SPACE(rt->dst.dev) + 15,
+				  length + LL_ALIGN(hard_header_len +
+						    needed_headroom +
+					            needed_tailroom) + 15,
 				  flags & MSG_DONTWAIT, &err);
 	if (skb == NULL)
 		goto error;
-	skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));
+	skb_reserve(skb, LL_ALIGN(hard_header_len + needed_headroom));
 
 	skb->priority = sk->sk_priority;
 	skb->mark = sk->sk_mark;



^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-18 12:56                     ` Eric Dumazet
@ 2011-10-18 13:45                       ` Herbert Xu
  2011-10-19  7:09                         ` David Miller
  0 siblings, 1 reply; 35+ messages in thread
From: Herbert Xu @ 2011-10-18 13:45 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Elmar Vonlanthen, linux-kernel, netdev, Timo Teräs

On Tue, Oct 18, 2011 at 02:56:00PM +0200, Eric Dumazet wrote:
>
> I am ok by this way, but we might hit another similar problem elsewhere.
> 
> (igmp.c ip6_output, ...)
> 
> We effectively want to remove LL_ALLOCATED_SPACE() usage and obfuscate
> code...

Here's another idea, provide a helper to do the skb allocation
and the skb_reserve in one go.  That way this ugliness would only
need to be done once.

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-18 13:45                       ` Herbert Xu
@ 2011-10-19  7:09                         ` David Miller
  2011-10-19  7:18                           ` Eric Dumazet
  0 siblings, 1 reply; 35+ messages in thread
From: David Miller @ 2011-10-19  7:09 UTC (permalink / raw)
  To: herbert; +Cc: eric.dumazet, evonlanthen, linux-kernel, netdev, timo.teras

From: Herbert Xu <herbert@gondor.hengli.com.au>
Date: Tue, 18 Oct 2011 15:45:37 +0200

> On Tue, Oct 18, 2011 at 02:56:00PM +0200, Eric Dumazet wrote:
>>
>> I am ok by this way, but we might hit another similar problem elsewhere.
>> 
>> (igmp.c ip6_output, ...)
>> 
>> We effectively want to remove LL_ALLOCATED_SPACE() usage and obfuscate
>> code...
> 
> Here's another idea, provide a helper to do the skb allocation
> and the skb_reserve in one go.  That way this ugliness would only
> need to be done once.

Someone please test this:

--------------------
net: Fix crashes on devices which dynamically change needed headroom.

One such device is IP_GRE.

The problem is that we evaluate the device characteristics twice, once
to determine the allocation size, and once to do the skb_reserve().

Combine these into one operation using a helper function.

With help from Eric Dumazet and Herbert Xu.

Reported-by: Reported-by: Elmar Vonlanthen <evonlanthen@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index ddee79b..d4abb400 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -276,12 +276,22 @@ struct hh_cache {
  * LL_ALLOCATED_SPACE also takes into account the tailroom the device
  * may need.
  */
+#define LL_ALIGN(__len) (((__len)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
+
+#define __LL_RESERVED_SPACE(__hard_hdr_len, __needed_headroom) \
+	LL_ALIGN((__hard_hdr_len) + (__needed_headroom))
+
 #define LL_RESERVED_SPACE(dev) \
-	((((dev)->hard_header_len+(dev)->needed_headroom)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
+	__LL_RESERVED_SPACE((dev)->hard_header_len, (dev)->needed_headroom))
+
 #define LL_RESERVED_SPACE_EXTRA(dev,extra) \
-	((((dev)->hard_header_len+(dev)->needed_headroom+(extra))&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
+	LL_ALIGN((dev)->hard_header_len + (dev)->needed_headroom + (extra))
+
+#define __LL_ALLOCATED_SPACE(__hard_hdr_len, __needed_headroom, __needed_tailroom) \
+	LL_ALIGN((__hard_hdr_len) + (__needed_headroom) + (__needed_tailroom))
+
 #define LL_ALLOCATED_SPACE(dev) \
-	((((dev)->hard_header_len+(dev)->needed_headroom+(dev)->needed_tailroom)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
+	__LL_ALLOCATED_SPACE((dev)->hard_header_len, (dev)->needed_headroom, (dev)->needed_tailroom)
 
 struct header_ops {
 	int	(*create) (struct sk_buff *skb, struct net_device *dev,
diff --git a/include/net/sock.h b/include/net/sock.h
index 8e4062f..9d96995 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -1103,6 +1103,11 @@ extern struct sk_buff 		*sock_alloc_send_skb(struct sock *sk,
 						     unsigned long size,
 						     int noblock,
 						     int *errcode);
+extern struct sk_buff 		*sock_alloc_send_skb_reserve(struct sock *sk,
+							     struct net_device *dev,
+							     unsigned long base_size,
+							     int noblock,
+							     int *errcode);
 extern struct sk_buff 		*sock_alloc_send_pskb(struct sock *sk,
 						      unsigned long header_len,
 						      unsigned long data_len,
diff --git a/net/core/sock.c b/net/core/sock.c
index bc745d0..9cefb72 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1586,6 +1586,26 @@ struct sk_buff *sock_alloc_send_skb(struct sock *sk, unsigned long size,
 }
 EXPORT_SYMBOL(sock_alloc_send_skb);
 
+struct sk_buff *sock_alloc_send_skb_reserve(struct sock *sk, struct net_device *dev,
+					    unsigned long base_size, int noblock,
+					    int *errcode)
+{
+	unsigned int hh_len = dev->hard_header_len;
+	unsigned int needed_hroom = dev->needed_headroom;
+	unsigned int needed_troom = dev->needed_tailroom;
+	unsigned int reserve, lls;
+	struct sk_buff *skb;
+
+	lls = __LL_ALLOCATED_SPACE(hh_len, needed_hroom, needed_troom);
+	skb = sock_alloc_send_skb(sk, (base_size + lls + 15), noblock, errcode);
+	if (skb) {
+		reserve = __LL_RESERVED_SPACE(hh_len, needed_hroom);
+		skb_reserve(skb, reserve);
+	}
+	return skb;
+}
+EXPORT_SYMBOL(sock_alloc_send_skb_reserve);
+
 static void __lock_sock(struct sock *sk)
 	__releases(&sk->sk_lock.slock)
 	__acquires(&sk->sk_lock.slock)
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
index 61714bd..dcecb97 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -335,12 +335,11 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
 	if (flags&MSG_PROBE)
 		goto out;
 
-	skb = sock_alloc_send_skb(sk,
-				  length + LL_ALLOCATED_SPACE(rt->dst.dev) + 15,
-				  flags & MSG_DONTWAIT, &err);
+	skb = sock_alloc_send_skb_reserve(sk, rt->dst.dev, length,
+					  flags & MSG_DONTWAIT,
+					  &err);
 	if (skb == NULL)
 		goto error;
-	skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));
 
 	skb->priority = sk->sk_priority;
 	skb->mark = sk->sk_mark;
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 343852e..5a8e141 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -618,12 +618,11 @@ static int rawv6_send_hdrinc(struct sock *sk, void *from, int length,
 	if (flags&MSG_PROBE)
 		goto out;
 
-	skb = sock_alloc_send_skb(sk,
-				  length + LL_ALLOCATED_SPACE(rt->dst.dev) + 15,
-				  flags & MSG_DONTWAIT, &err);
+	skb = sock_alloc_send_skb_reserve(sk, rt->dst.dev, length,
+					  flags & MSG_DONTWAIT,
+					  &err);
 	if (skb == NULL)
 		goto error;
-	skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));
 
 	skb->priority = sk->sk_priority;
 	skb->mark = sk->sk_mark;

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-19  7:09                         ` David Miller
@ 2011-10-19  7:18                           ` Eric Dumazet
  2011-10-19  7:30                             ` David Miller
  0 siblings, 1 reply; 35+ messages in thread
From: Eric Dumazet @ 2011-10-19  7:18 UTC (permalink / raw)
  To: David Miller; +Cc: herbert, evonlanthen, linux-kernel, netdev, timo.teras

Le mercredi 19 octobre 2011 à 03:09 -0400, David Miller a écrit :
> From: Herbert Xu <herbert@gondor.hengli.com.au>
> Date: Tue, 18 Oct 2011 15:45:37 +0200
> 
> > On Tue, Oct 18, 2011 at 02:56:00PM +0200, Eric Dumazet wrote:
> >>
> >> I am ok by this way, but we might hit another similar problem elsewhere.
> >> 
> >> (igmp.c ip6_output, ...)
> >> 
> >> We effectively want to remove LL_ALLOCATED_SPACE() usage and obfuscate
> >> code...
> > 
> > Here's another idea, provide a helper to do the skb allocation
> > and the skb_reserve in one go.  That way this ugliness would only
> > need to be done once.
> 
> Someone please test this:
> 
> --------------------
> net: Fix crashes on devices which dynamically change needed headroom.
> 
> One such device is IP_GRE.
> 
> The problem is that we evaluate the device characteristics twice, once
> to determine the allocation size, and once to do the skb_reserve().
> 
> Combine these into one operation using a helper function.
> 
> With help from Eric Dumazet and Herbert Xu.
> 
> Reported-by: Reported-by: Elmar Vonlanthen <evonlanthen@gmail.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> 



Seems fine (Maybe do the +15 in caller site ?), but we also have other
problematic cases, using alloc_skb() only...




^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-19  7:18                           ` Eric Dumazet
@ 2011-10-19  7:30                             ` David Miller
  2011-10-19  7:52                               ` Eric Dumazet
  2011-10-19  8:08                               ` Herbert Xu
  0 siblings, 2 replies; 35+ messages in thread
From: David Miller @ 2011-10-19  7:30 UTC (permalink / raw)
  To: eric.dumazet; +Cc: herbert, evonlanthen, linux-kernel, netdev, timo.teras

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 19 Oct 2011 09:18:33 +0200

> Seems fine (Maybe do the +15 in caller site ?), but we also have other
> problematic cases, using alloc_skb() only...

Ok, which ones operate over these problematic GRE tunnels?


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-19  7:30                             ` David Miller
@ 2011-10-19  7:52                               ` Eric Dumazet
  2011-10-19  8:02                                 ` David Miller
  2011-10-19  8:08                               ` Herbert Xu
  1 sibling, 1 reply; 35+ messages in thread
From: Eric Dumazet @ 2011-10-19  7:52 UTC (permalink / raw)
  To: David Miller; +Cc: herbert, evonlanthen, linux-kernel, netdev, timo.teras

Le mercredi 19 octobre 2011 à 03:30 -0400, David Miller a écrit :
> From: Eric Dumazet <eric.dumazet@gmail.com>
> Date: Wed, 19 Oct 2011 09:18:33 +0200
> 
> > Seems fine (Maybe do the +15 in caller site ?), but we also have other
> > problematic cases, using alloc_skb() only...
> 
> Ok, which ones operate over these problematic GRE tunnels?
> 

I was more thinking of general idea to allow any device to change its
needed headroom.

For GRE tunnels, I dont think IPv6 fragmentation could be relevant,
but maybe IGMP could trigger a problem ?




^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-19  7:52                               ` Eric Dumazet
@ 2011-10-19  8:02                                 ` David Miller
  0 siblings, 0 replies; 35+ messages in thread
From: David Miller @ 2011-10-19  8:02 UTC (permalink / raw)
  To: eric.dumazet; +Cc: herbert, evonlanthen, linux-kernel, netdev, timo.teras

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 19 Oct 2011 09:52:19 +0200

> For GRE tunnels, I dont think IPv6 fragmentation could be relevant,
> but maybe IGMP could trigger a problem ?

Funny... icmpv6 uses ip6_append_data() which uses hh_len in a
local variable, which seems to suggest that it's immune to
this problem.

IPV4 side seems identical in this regard.

So, as far as I can see, my patch is sufficient to cover IP_GRE
reasonably in the 'net' tree.

Agreed?

If so, someone please test this thing :-)

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-19  7:30                             ` David Miller
  2011-10-19  7:52                               ` Eric Dumazet
@ 2011-10-19  8:08                               ` Herbert Xu
  2011-10-20  9:30                                 ` David Miller
  1 sibling, 1 reply; 35+ messages in thread
From: Herbert Xu @ 2011-10-19  8:08 UTC (permalink / raw)
  To: David Miller; +Cc: eric.dumazet, evonlanthen, linux-kernel, netdev, timo.teras

On Wed, Oct 19, 2011 at 03:30:52AM -0400, David Miller wrote:
> From: Eric Dumazet <eric.dumazet@gmail.com>
> Date: Wed, 19 Oct 2011 09:18:33 +0200
> 
> > Seems fine (Maybe do the +15 in caller site ?), but we also have other
> > problematic cases, using alloc_skb() only...
> 
> Ok, which ones operate over these problematic GRE tunnels?

Potentially all of them since we now support Ethernet-over-GRE.

I think Eric's initial patch is probably the safest bet for rc10.
We can then work on the proper fix for the next release.

As to the latter, I've just done a grep over net and it seems that
all users of LL_ALLOCATED_SPACE fall into two cases, alloc_skb users
or sock_alloc_send_skb (including pskb) users.

For alloc_skb we could add a new helper.  While for the other
case we could either create a new helper or just add an extra
dev argument that may be NULL for those that don't care about
LL_ALLOCATED_SPACE.

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-19  8:08                               ` Herbert Xu
@ 2011-10-20  9:30                                 ` David Miller
  2011-10-20  9:35                                   ` Herbert Xu
  0 siblings, 1 reply; 35+ messages in thread
From: David Miller @ 2011-10-20  9:30 UTC (permalink / raw)
  To: herbert; +Cc: eric.dumazet, evonlanthen, linux-kernel, netdev, timo.teras

From: Herbert Xu <herbert@gondor.hengli.com.au>
Date: Wed, 19 Oct 2011 10:08:07 +0200

> I think Eric's initial patch is probably the safest bet for rc10.
> We can then work on the proper fix for the next release.

There are two "initial patch", I wonder which one you mean.

There's his really first patch, which remoevs the lines in IP_GRE
which change dev->needed_headroom.  I was under the impression we
were against doing that.

The other patch he posted duplicates the device attribute variable
caching in two functions.

My patch is just a tweak so that we only do this sequence in one
place, the new sock_alloc_send_skb_reserve() helper, instead of
in both the ipv4 and ipv6 RAW code.

So I'm a little confused what your suggestion for rc10 really
is :-)

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-20  9:30                                 ` David Miller
@ 2011-10-20  9:35                                   ` Herbert Xu
  2011-10-20 20:21                                     ` David Miller
  2011-10-25 11:54                                     ` Herbert Xu
  0 siblings, 2 replies; 35+ messages in thread
From: Herbert Xu @ 2011-10-20  9:35 UTC (permalink / raw)
  To: David Miller; +Cc: eric.dumazet, evonlanthen, linux-kernel, netdev, timo.teras

On Thu, Oct 20, 2011 at 05:30:50AM -0400, David Miller wrote:
>
> So I'm a little confused what your suggestion for rc10 really
> is :-)

I meant his first initial patch :)

While it is suboptimal in the sense that should the value of
needed_headroom increase we'll end up constantly reallocating
skbs, I believe that it is at least semantically correct.

In the time being I'll look more closely at all the users of
needed_headroom to see if there's anything we've missed.

Thanks,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-20  9:35                                   ` Herbert Xu
@ 2011-10-20 20:21                                     ` David Miller
  2011-10-25 11:54                                     ` Herbert Xu
  1 sibling, 0 replies; 35+ messages in thread
From: David Miller @ 2011-10-20 20:21 UTC (permalink / raw)
  To: herbert; +Cc: eric.dumazet, evonlanthen, linux-kernel, netdev, timo.teras

From: Herbert Xu <herbert@gondor.hengli.com.au>
Date: Thu, 20 Oct 2011 11:35:41 +0200

> On Thu, Oct 20, 2011 at 05:30:50AM -0400, David Miller wrote:
>>
>> So I'm a little confused what your suggestion for rc10 really
>> is :-)
> 
> I meant his first initial patch :)
> 
> While it is suboptimal in the sense that should the value of
> needed_headroom increase we'll end up constantly reallocating
> skbs, I believe that it is at least semantically correct.

Ok, I applied Eric's patch which removes the dynamic changing of the
needed_headroom in IP_GRE.

Thanks everyone!

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-20  9:35                                   ` Herbert Xu
  2011-10-20 20:21                                     ` David Miller
@ 2011-10-25 11:54                                     ` Herbert Xu
  2011-10-26  3:12                                       ` David Miller
  1 sibling, 1 reply; 35+ messages in thread
From: Herbert Xu @ 2011-10-25 11:54 UTC (permalink / raw)
  To: David Miller; +Cc: eric.dumazet, evonlanthen, linux-kernel, netdev, timo.teras

On Thu, Oct 20, 2011 at 11:35:41AM +0200, Herbert Xu wrote:
>
> In the time being I'll look more closely at all the users of
> needed_headroom to see if there's anything we've missed.

OK I've reviewed all the users of needed_headroom and I haven't
found anything other than the cases that we have enumerated.

One thing I noticed is that the macro LL_ALLOCATED_SPACE is
completely bogus and buggy.  It applies the alignment to the
sum of headroom and tailroom.  However, the alignment is then
applied separately to the headroom when reserving, meaning that
we may end up with insufficient tailroom.

So I'm going to get rid of LL_ALLOCATED_SPACE completely and
replace it with explicit references to the tailroom as it doesn't
need the alignment anyway (The headroom needs alignment since
we use it to ensure the head is aligned).

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops
  2011-10-25 11:54                                     ` Herbert Xu
@ 2011-10-26  3:12                                       ` David Miller
  2011-11-18 12:18                                         ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment Herbert Xu
  0 siblings, 1 reply; 35+ messages in thread
From: David Miller @ 2011-10-26  3:12 UTC (permalink / raw)
  To: herbert; +Cc: eric.dumazet, evonlanthen, linux-kernel, netdev, timo.teras

From: Herbert Xu <herbert@gondor.hengli.com.au>
Date: Tue, 25 Oct 2011 13:54:25 +0200

> So I'm going to get rid of LL_ALLOCATED_SPACE completely and
> replace it with explicit references to the tailroom as it doesn't
> need the alignment anyway (The headroom needs alignment since
> we use it to ensure the head is aligned).

Ok.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment
  2011-10-26  3:12                                       ` David Miller
@ 2011-11-18 12:18                                         ` Herbert Xu
  2011-11-18 12:20                                           ` [PATCH 1/6] ipv4: Remove all uses of LL_ALLOCATED_SPACE Herbert Xu
                                                             ` (6 more replies)
  0 siblings, 7 replies; 35+ messages in thread
From: Herbert Xu @ 2011-11-18 12:18 UTC (permalink / raw)
  To: David Miller; +Cc: eric.dumazet, evonlanthen, linux-kernel, netdev, timo.teras

On Tue, Oct 25, 2011 at 11:12:04PM -0400, David Miller wrote:
> From: Herbert Xu <herbert@gondor.hengli.com.au>
> Date: Tue, 25 Oct 2011 13:54:25 +0200
> 
> > So I'm going to get rid of LL_ALLOCATED_SPACE completely and
> > replace it with explicit references to the tailroom as it doesn't
> > need the alignment anyway (The headroom needs alignment since
> > we use it to ensure the head is aligned).
> 
> Ok.

Here are the patches that do this.  I also picked up one spot
that should have used LL_ALLOCATED_SPACE but did not (see 2nd
last patch).

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 3/6] net: Remove all uses of LL_ALLOCATED_SPACE
  2011-11-18 12:18                                         ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment Herbert Xu
  2011-11-18 12:20                                           ` [PATCH 1/6] ipv4: Remove all uses of LL_ALLOCATED_SPACE Herbert Xu
  2011-11-18 12:20                                           ` [PATCH 2/6] ipv6: " Herbert Xu
@ 2011-11-18 12:20                                           ` Herbert Xu
  2011-11-18 12:20                                           ` [PATCH 5/6] packet: Add needed_tailroom to packet_sendmsg_spkt Herbert Xu
                                                             ` (3 subsequent siblings)
  6 siblings, 0 replies; 35+ messages in thread
From: Herbert Xu @ 2011-11-18 12:20 UTC (permalink / raw)
  To: David Miller, eric.dumazet, evonlanthen, linux-kernel, netdev,
	timo.teras

net: Remove all uses of LL_ALLOCATED_SPACE

The macro LL_ALLOCATED_SPACE was ill-conceived.  It applies the
alignment to the sum of needed_headroom and needed_tailroom.  As
the amount that is then reserved for head room is needed_headroom
with alignment, this means that the tail room left may be too small.

This patch replaces all uses of LL_ALLOCATED_SPACE with the macro
LL_RESERVED_SPACE and direct reference to needed_tailroom.

This also fixes the problem with needed_headroom changing between
allocating the skb and reserving the head room.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---

 net/core/netpoll.c     |    6 ++++--
 net/econet/af_econet.c |    7 +++++--
 net/ieee802154/dgram.c |    7 +++++--
 net/ieee802154/raw.c   |    7 +++++--
 net/packet/af_packet.c |   18 +++++++++++-------
 5 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index cf64c1f..1a7d8e2 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -422,6 +422,7 @@ static void arp_reply(struct sk_buff *skb)
 	struct sk_buff *send_skb;
 	struct netpoll *np, *tmp;
 	unsigned long flags;
+	int hlen, tlen;
 	int hits = 0;
 
 	if (list_empty(&npinfo->rx_np))
@@ -479,8 +480,9 @@ static void arp_reply(struct sk_buff *skb)
 		if (tip != np->local_ip)
 			continue;
 
-		send_skb = find_skb(np, size + LL_ALLOCATED_SPACE(np->dev),
-				    LL_RESERVED_SPACE(np->dev));
+		hlen = LL_RESERVED_SPACE(np->dev);
+		tlen = np->dev->needed_tailroom;
+		send_skb = find_skb(np, size + hlen + tlen, hlen);
 		if (!send_skb)
 			continue;
 
diff --git a/net/econet/af_econet.c b/net/econet/af_econet.c
index 1c1f26c..7e717cb 100644
--- a/net/econet/af_econet.c
+++ b/net/econet/af_econet.c
@@ -322,6 +322,7 @@ static int econet_sendmsg(struct kiocb *iocb, struct socket *sock,
 		/* Real hardware Econet.  We're not worthy etc. */
 #ifdef CONFIG_ECONET_NATIVE
 		unsigned short proto = 0;
+		int hlen, tlen;
 		int res;
 
 		if (len + 15 > dev->mtu) {
@@ -331,12 +332,14 @@ static int econet_sendmsg(struct kiocb *iocb, struct socket *sock,
 
 		dev_hold(dev);
 
-		skb = sock_alloc_send_skb(sk, len + LL_ALLOCATED_SPACE(dev),
+		hlen = LL_RESERVED_SPACE(dev);
+		tlen = dev->needed_tailroom;
+		skb = sock_alloc_send_skb(sk, len + hlen + tlen,
 					  msg->msg_flags & MSG_DONTWAIT, &err);
 		if (skb == NULL)
 			goto out_unlock;
 
-		skb_reserve(skb, LL_RESERVED_SPACE(dev));
+		skb_reserve(skb, hlen);
 		skb_reset_network_header(skb);
 
 		eb = (struct ec_cb *)&skb->cb;
diff --git a/net/ieee802154/dgram.c b/net/ieee802154/dgram.c
index faecf64..1b09eaa 100644
--- a/net/ieee802154/dgram.c
+++ b/net/ieee802154/dgram.c
@@ -209,6 +209,7 @@ static int dgram_sendmsg(struct kiocb *iocb, struct sock *sk,
 	unsigned mtu;
 	struct sk_buff *skb;
 	struct dgram_sock *ro = dgram_sk(sk);
+	int hlen, tlen;
 	int err;
 
 	if (msg->msg_flags & MSG_OOB) {
@@ -229,13 +230,15 @@ static int dgram_sendmsg(struct kiocb *iocb, struct sock *sk,
 	mtu = dev->mtu;
 	pr_debug("name = %s, mtu = %u\n", dev->name, mtu);
 
-	skb = sock_alloc_send_skb(sk, LL_ALLOCATED_SPACE(dev) + size,
+	hlen = LL_RESERVED_SPACE(dev);
+	tlen = dev->needed_tailroom;
+	skb = sock_alloc_send_skb(sk, hlen + tlen + size,
 			msg->msg_flags & MSG_DONTWAIT,
 			&err);
 	if (!skb)
 		goto out_dev;
 
-	skb_reserve(skb, LL_RESERVED_SPACE(dev));
+	skb_reserve(skb, hlen);
 
 	skb_reset_network_header(skb);
 
diff --git a/net/ieee802154/raw.c b/net/ieee802154/raw.c
index 10970ca..f96bae8 100644
--- a/net/ieee802154/raw.c
+++ b/net/ieee802154/raw.c
@@ -108,6 +108,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
 	struct net_device *dev;
 	unsigned mtu;
 	struct sk_buff *skb;
+	int hlen, tlen;
 	int err;
 
 	if (msg->msg_flags & MSG_OOB) {
@@ -137,12 +138,14 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
 		goto out_dev;
 	}
 
-	skb = sock_alloc_send_skb(sk, LL_ALLOCATED_SPACE(dev) + size,
+	hlen = LL_RESERVED_SPACE(dev);
+	tlen = dev->needed_tailroom;
+	skb = sock_alloc_send_skb(sk, hlen + tlen + size,
 			msg->msg_flags & MSG_DONTWAIT, &err);
 	if (!skb)
 		goto out_dev;
 
-	skb_reserve(skb, LL_RESERVED_SPACE(dev));
+	skb_reserve(skb, hlen);
 
 	skb_reset_mac_header(skb);
 	skb_reset_network_header(skb);
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index 82a6f34..71c1a75 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1944,7 +1944,7 @@ static void tpacket_destruct_skb(struct sk_buff *skb)
 
 static int tpacket_fill_skb(struct packet_sock *po, struct sk_buff *skb,
 		void *frame, struct net_device *dev, int size_max,
-		__be16 proto, unsigned char *addr)
+		__be16 proto, unsigned char *addr, int hlen)
 {
 	union {
 		struct tpacket_hdr *h1;
@@ -1978,7 +1978,7 @@ static int tpacket_fill_skb(struct packet_sock *po, struct sk_buff *skb,
 		return -EMSGSIZE;
 	}
 
-	skb_reserve(skb, LL_RESERVED_SPACE(dev));
+	skb_reserve(skb, hlen);
 	skb_reset_network_header(skb);
 
 	data = ph.raw + po->tp_hdrlen - sizeof(struct sockaddr_ll);
@@ -2053,6 +2053,7 @@ static int tpacket_snd(struct packet_sock *po, struct msghdr *msg)
 	unsigned char *addr;
 	int len_sum = 0;
 	int status = 0;
+	int hlen, tlen;
 
 	mutex_lock(&po->pg_vec_lock);
 
@@ -2101,16 +2102,17 @@ static int tpacket_snd(struct packet_sock *po, struct msghdr *msg)
 		}
 
 		status = TP_STATUS_SEND_REQUEST;
+		hlen = LL_RESERVED_SPACE(dev);
+		tlen = dev->needed_tailroom;
 		skb = sock_alloc_send_skb(&po->sk,
-				LL_ALLOCATED_SPACE(dev)
-				+ sizeof(struct sockaddr_ll),
+				hlen + tlen + sizeof(struct sockaddr_ll),
 				0, &err);
 
 		if (unlikely(skb == NULL))
 			goto out_status;
 
 		tp_len = tpacket_fill_skb(po, skb, ph, dev, size_max, proto,
-				addr);
+				addr, hlen);
 
 		if (unlikely(tp_len < 0)) {
 			if (po->tp_loss) {
@@ -2207,6 +2209,7 @@ static int packet_snd(struct socket *sock,
 	int vnet_hdr_len;
 	struct packet_sock *po = pkt_sk(sk);
 	unsigned short gso_type = 0;
+	int hlen, tlen;
 
 	/*
 	 *	Get and verify the address.
@@ -2291,8 +2294,9 @@ static int packet_snd(struct socket *sock,
 		goto out_unlock;
 
 	err = -ENOBUFS;
-	skb = packet_alloc_skb(sk, LL_ALLOCATED_SPACE(dev),
-			       LL_RESERVED_SPACE(dev), len, vnet_hdr.hdr_len,
+	hlen = LL_RESERVED_SPACE(dev);
+	tlen = dev->needed_tailroom;
+	skb = packet_alloc_skb(sk, hlen + tlen, hlen, len, vnet_hdr.hdr_len,
 			       msg->msg_flags & MSG_DONTWAIT, &err);
 	if (skb == NULL)
 		goto out_unlock;

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 1/6] ipv4: Remove all uses of LL_ALLOCATED_SPACE
  2011-11-18 12:18                                         ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment Herbert Xu
@ 2011-11-18 12:20                                           ` Herbert Xu
  2011-11-18 12:20                                           ` [PATCH 2/6] ipv6: " Herbert Xu
                                                             ` (5 subsequent siblings)
  6 siblings, 0 replies; 35+ messages in thread
From: Herbert Xu @ 2011-11-18 12:20 UTC (permalink / raw)
  To: David Miller, eric.dumazet, evonlanthen, linux-kernel, netdev,
	timo.teras

ipv4: Remove all uses of LL_ALLOCATED_SPACE

The macro LL_ALLOCATED_SPACE was ill-conceived.  It applies the
alignment to the sum of needed_headroom and needed_tailroom.  As
the amount that is then reserved for head room is needed_headroom
with alignment, this means that the tail room left may be too small.

This patch replaces all uses of LL_ALLOCATED_SPACE in net/ipv4
with the macro LL_RESERVED_SPACE and direct reference to
needed_tailroom.

This also fixes the problem with needed_headroom changing between
allocating the skb and reserving the head room.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---

 net/ipv4/arp.c      |    6 ++++--
 net/ipv4/igmp.c     |   13 +++++++++----
 net/ipv4/ipconfig.c |    6 ++++--
 net/ipv4/raw.c      |    7 +++++--
 4 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
index 96a164a..fb3fdbc 100644
--- a/net/ipv4/arp.c
+++ b/net/ipv4/arp.c
@@ -592,16 +592,18 @@ struct sk_buff *arp_create(int type, int ptype, __be32 dest_ip,
 	struct sk_buff *skb;
 	struct arphdr *arp;
 	unsigned char *arp_ptr;
+	int hlen = LL_RESERVED_SPACE(dev);
+	int tlen = dev->needed_tailroom;
 
 	/*
 	 *	Allocate a buffer
 	 */
 
-	skb = alloc_skb(arp_hdr_len(dev) + LL_ALLOCATED_SPACE(dev), GFP_ATOMIC);
+	skb = alloc_skb(arp_hdr_len(dev) + hlen + tlen, GFP_ATOMIC);
 	if (skb == NULL)
 		return NULL;
 
-	skb_reserve(skb, LL_RESERVED_SPACE(dev));
+	skb_reserve(skb, hlen);
 	skb_reset_network_header(skb);
 	arp = (struct arphdr *) skb_put(skb, arp_hdr_len(dev));
 	skb->dev = dev;
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
index c7472ef..fbc5376 100644
--- a/net/ipv4/igmp.c
+++ b/net/ipv4/igmp.c
@@ -304,9 +304,11 @@ static struct sk_buff *igmpv3_newpack(struct net_device *dev, int size)
 	struct igmpv3_report *pig;
 	struct net *net = dev_net(dev);
 	struct flowi4 fl4;
+	int hlen = LL_RESERVED_SPACE(dev);
+	int tlen = dev->needed_tailroom;
 
 	while (1) {
-		skb = alloc_skb(size + LL_ALLOCATED_SPACE(dev),
+		skb = alloc_skb(size + hlen + tlen,
 				GFP_ATOMIC | __GFP_NOWARN);
 		if (skb)
 			break;
@@ -327,7 +329,7 @@ static struct sk_buff *igmpv3_newpack(struct net_device *dev, int size)
 	skb_dst_set(skb, &rt->dst);
 	skb->dev = dev;
 
-	skb_reserve(skb, LL_RESERVED_SPACE(dev));
+	skb_reserve(skb, hlen);
 
 	skb_reset_network_header(skb);
 	pip = ip_hdr(skb);
@@ -647,6 +649,7 @@ static int igmp_send_report(struct in_device *in_dev, struct ip_mc_list *pmc,
 	__be32	group = pmc ? pmc->multiaddr : 0;
 	struct flowi4 fl4;
 	__be32	dst;
+	int hlen, tlen;
 
 	if (type == IGMPV3_HOST_MEMBERSHIP_REPORT)
 		return igmpv3_send_report(in_dev, pmc);
@@ -661,7 +664,9 @@ static int igmp_send_report(struct in_device *in_dev, struct ip_mc_list *pmc,
 	if (IS_ERR(rt))
 		return -1;
 
-	skb = alloc_skb(IGMP_SIZE+LL_ALLOCATED_SPACE(dev), GFP_ATOMIC);
+	hlen = LL_RESERVED_SPACE(dev);
+	tlen = dev->needed_tailroom;
+	skb = alloc_skb(IGMP_SIZE + hlen + tlen, GFP_ATOMIC);
 	if (skb == NULL) {
 		ip_rt_put(rt);
 		return -1;
@@ -669,7 +674,7 @@ static int igmp_send_report(struct in_device *in_dev, struct ip_mc_list *pmc,
 
 	skb_dst_set(skb, &rt->dst);
 
-	skb_reserve(skb, LL_RESERVED_SPACE(dev));
+	skb_reserve(skb, hlen);
 
 	skb_reset_network_header(skb);
 	iph = ip_hdr(skb);
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
index 0da2afc..adcac64 100644
--- a/net/ipv4/ipconfig.c
+++ b/net/ipv4/ipconfig.c
@@ -763,13 +763,15 @@ static void __init ic_bootp_send_if(struct ic_device *d, unsigned long jiffies_d
 	struct sk_buff *skb;
 	struct bootp_pkt *b;
 	struct iphdr *h;
+	int hlen = LL_RESERVED_SPACE(dev);
+	int tlen = dev->needed_tailroom;
 
 	/* Allocate packet */
-	skb = alloc_skb(sizeof(struct bootp_pkt) + LL_ALLOCATED_SPACE(dev) + 15,
+	skb = alloc_skb(sizeof(struct bootp_pkt) + hlen + tlen + 15,
 			GFP_KERNEL);
 	if (!skb)
 		return;
-	skb_reserve(skb, LL_RESERVED_SPACE(dev));
+	skb_reserve(skb, hlen);
 	b = (struct bootp_pkt *) skb_put(skb, sizeof(struct bootp_pkt));
 	memset(b, 0, sizeof(struct bootp_pkt));
 
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
index 007e2eb..e6c1f0e 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -327,6 +327,7 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
 	unsigned int iphlen;
 	int err;
 	struct rtable *rt = *rtp;
+	int hlen, tlen;
 
 	if (length > rt->dst.dev->mtu) {
 		ip_local_error(sk, EMSGSIZE, fl4->daddr, inet->inet_dport,
@@ -336,12 +337,14 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,
 	if (flags&MSG_PROBE)
 		goto out;
 
+	hlen = LL_RESERVED_SPACE(rt->dst.dev);
+	tlen = rt->dst.dev->needed_tailroom;
 	skb = sock_alloc_send_skb(sk,
-				  length + LL_ALLOCATED_SPACE(rt->dst.dev) + 15,
+				  length + hlen + tlen + 15,
 				  flags & MSG_DONTWAIT, &err);
 	if (skb == NULL)
 		goto error;
-	skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));
+	skb_reserve(skb, hlen);
 
 	skb->priority = sk->sk_priority;
 	skb->mark = sk->sk_mark;

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 2/6] ipv6: Remove all uses of LL_ALLOCATED_SPACE
  2011-11-18 12:18                                         ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment Herbert Xu
  2011-11-18 12:20                                           ` [PATCH 1/6] ipv4: Remove all uses of LL_ALLOCATED_SPACE Herbert Xu
@ 2011-11-18 12:20                                           ` Herbert Xu
  2011-11-18 12:20                                           ` [PATCH 3/6] net: " Herbert Xu
                                                             ` (4 subsequent siblings)
  6 siblings, 0 replies; 35+ messages in thread
From: Herbert Xu @ 2011-11-18 12:20 UTC (permalink / raw)
  To: David Miller, eric.dumazet, evonlanthen, linux-kernel, netdev,
	timo.teras

ipv6: Remove all uses of LL_ALLOCATED_SPACE

The macro LL_ALLOCATED_SPACE was ill-conceived.  It applies the
alignment to the sum of needed_headroom and needed_tailroom.  As
the amount that is then reserved for head room is needed_headroom
with alignment, this means that the tail room left may be too small.

This patch replaces all uses of LL_ALLOCATED_SPACE in net/ipv6
with the macro LL_RESERVED_SPACE and direct reference to
needed_tailroom.

This also fixes the problem with needed_headroom changing between
allocating the skb and reserving the head room.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---

 net/ipv6/ip6_output.c |    8 ++++++--
 net/ipv6/mcast.c      |   12 ++++++++----
 net/ipv6/ndisc.c      |   13 +++++++++----
 net/ipv6/raw.c        |    6 ++++--
 4 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 84d0bd5..68ef97f 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -631,6 +631,7 @@ int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
 	struct ipv6hdr *tmp_hdr;
 	struct frag_hdr *fh;
 	unsigned int mtu, hlen, left, len;
+	int hroom, troom;
 	__be32 frag_id = 0;
 	int ptr, offset = 0, err=0;
 	u8 *prevhdr, nexthdr = 0;
@@ -797,6 +798,8 @@ slow_path:
 	 */
 
 	*prevhdr = NEXTHDR_FRAGMENT;
+	hroom = LL_RESERVED_SPACE(rt->dst.dev);
+	troom = rt->dst.dev->needed_tailroom;
 
 	/*
 	 *	Keep copying data until we run out.
@@ -815,7 +818,8 @@ slow_path:
 		 *	Allocate buffer.
 		 */
 
-		if ((frag = alloc_skb(len+hlen+sizeof(struct frag_hdr)+LL_ALLOCATED_SPACE(rt->dst.dev), GFP_ATOMIC)) == NULL) {
+		if ((frag = alloc_skb(len + hlen + sizeof(struct frag_hdr) +
+				      hroom + troom, GFP_ATOMIC)) == NULL) {
 			NETDEBUG(KERN_INFO "IPv6: frag: no memory for new fragment!\n");
 			IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)),
 				      IPSTATS_MIB_FRAGFAILS);
@@ -828,7 +832,7 @@ slow_path:
 		 */
 
 		ip6_copy_metadata(frag, skb);
-		skb_reserve(frag, LL_RESERVED_SPACE(rt->dst.dev));
+		skb_reserve(frag, hroom);
 		skb_put(frag, len + hlen + sizeof(struct frag_hdr));
 		skb_reset_network_header(frag);
 		fh = (struct frag_hdr *)(skb_network_header(frag) + hlen);
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c
index ee7839f..7b94beb 100644
--- a/net/ipv6/mcast.c
+++ b/net/ipv6/mcast.c
@@ -1343,13 +1343,15 @@ static struct sk_buff *mld_newpack(struct net_device *dev, int size)
 	struct mld2_report *pmr;
 	struct in6_addr addr_buf;
 	const struct in6_addr *saddr;
+	int hlen = LL_RESERVED_SPACE(dev);
+	int tlen = dev->needed_tailroom;
 	int err;
 	u8 ra[8] = { IPPROTO_ICMPV6, 0,
 		     IPV6_TLV_ROUTERALERT, 2, 0, 0,
 		     IPV6_TLV_PADN, 0 };
 
 	/* we assume size > sizeof(ra) here */
-	size += LL_ALLOCATED_SPACE(dev);
+	size += hlen + tlen;
 	/* limit our allocations to order-0 page */
 	size = min_t(int, size, SKB_MAX_ORDER(0, 0));
 	skb = sock_alloc_send_skb(sk, size, 1, &err);
@@ -1357,7 +1359,7 @@ static struct sk_buff *mld_newpack(struct net_device *dev, int size)
 	if (!skb)
 		return NULL;
 
-	skb_reserve(skb, LL_RESERVED_SPACE(dev));
+	skb_reserve(skb, hlen);
 
 	if (ipv6_get_lladdr(dev, &addr_buf, IFA_F_TENTATIVE)) {
 		/* <draft-ietf-magma-mld-source-05.txt>:
@@ -1723,6 +1725,8 @@ static void igmp6_send(struct in6_addr *addr, struct net_device *dev, int type)
 	struct mld_msg *hdr;
 	const struct in6_addr *snd_addr, *saddr;
 	struct in6_addr addr_buf;
+	int hlen = LL_RESERVED_SPACE(dev);
+	int tlen = dev->needed_tailroom;
 	int err, len, payload_len, full_len;
 	u8 ra[8] = { IPPROTO_ICMPV6, 0,
 		     IPV6_TLV_ROUTERALERT, 2, 0, 0,
@@ -1744,7 +1748,7 @@ static void igmp6_send(struct in6_addr *addr, struct net_device *dev, int type)
 		      IPSTATS_MIB_OUT, full_len);
 	rcu_read_unlock();
 
-	skb = sock_alloc_send_skb(sk, LL_ALLOCATED_SPACE(dev) + full_len, 1, &err);
+	skb = sock_alloc_send_skb(sk, hlen + tlen + full_len, 1, &err);
 
 	if (skb == NULL) {
 		rcu_read_lock();
@@ -1754,7 +1758,7 @@ static void igmp6_send(struct in6_addr *addr, struct net_device *dev, int type)
 		return;
 	}
 
-	skb_reserve(skb, LL_RESERVED_SPACE(dev));
+	skb_reserve(skb, hlen);
 
 	if (ipv6_get_lladdr(dev, &addr_buf, IFA_F_TENTATIVE)) {
 		/* <draft-ietf-magma-mld-source-05.txt>:
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
index 44e5b7f..5f191c4 100644
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
@@ -446,6 +446,8 @@ struct sk_buff *ndisc_build_skb(struct net_device *dev,
 	struct sock *sk = net->ipv6.ndisc_sk;
 	struct sk_buff *skb;
 	struct icmp6hdr *hdr;
+	int hlen = LL_RESERVED_SPACE(dev);
+	int tlen = dev->needed_tailroom;
 	int len;
 	int err;
 	u8 *opt;
@@ -459,7 +461,7 @@ struct sk_buff *ndisc_build_skb(struct net_device *dev,
 
 	skb = sock_alloc_send_skb(sk,
 				  (MAX_HEADER + sizeof(struct ipv6hdr) +
-				   len + LL_ALLOCATED_SPACE(dev)),
+				   len + hlen + tlen),
 				  1, &err);
 	if (!skb) {
 		ND_PRINTK0(KERN_ERR
@@ -468,7 +470,7 @@ struct sk_buff *ndisc_build_skb(struct net_device *dev,
 		return NULL;
 	}
 
-	skb_reserve(skb, LL_RESERVED_SPACE(dev));
+	skb_reserve(skb, hlen);
 	ip6_nd_hdr(sk, skb, dev, saddr, daddr, IPPROTO_ICMPV6, len);
 
 	skb->transport_header = skb->tail;
@@ -1533,6 +1535,7 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
 	struct inet6_dev *idev;
 	struct flowi6 fl6;
 	u8 *opt;
+	int hlen, tlen;
 	int rd_len;
 	int err;
 	u8 ha_buf[MAX_ADDR_LEN], *ha = NULL;
@@ -1590,9 +1593,11 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
 	rd_len &= ~0x7;
 	len += rd_len;
 
+	hlen = LL_RESERVED_SPACE(dev);
+	tlen = dev->needed_tailroom;
 	buff = sock_alloc_send_skb(sk,
 				   (MAX_HEADER + sizeof(struct ipv6hdr) +
-				    len + LL_ALLOCATED_SPACE(dev)),
+				    len + hlen + tlen),
 				   1, &err);
 	if (buff == NULL) {
 		ND_PRINTK0(KERN_ERR
@@ -1601,7 +1606,7 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
 		goto release;
 	}
 
-	skb_reserve(buff, LL_RESERVED_SPACE(dev));
+	skb_reserve(buff, hlen);
 	ip6_nd_hdr(sk, buff, dev, &saddr_buf, &ipv6_hdr(skb)->saddr,
 		   IPPROTO_ICMPV6, len);
 
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 331af3b..638fb2a 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -610,6 +610,8 @@ static int rawv6_send_hdrinc(struct sock *sk, void *from, int length,
 	struct sk_buff *skb;
 	int err;
 	struct rt6_info *rt = (struct rt6_info *)*dstp;
+	int hlen = LL_RESERVED_SPACE(rt->dst.dev);
+	int tlen = rt->dst.dev->needed_tailroom;
 
 	if (length > rt->dst.dev->mtu) {
 		ipv6_local_error(sk, EMSGSIZE, fl6, rt->dst.dev->mtu);
@@ -619,11 +621,11 @@ static int rawv6_send_hdrinc(struct sock *sk, void *from, int length,
 		goto out;
 
 	skb = sock_alloc_send_skb(sk,
-				  length + LL_ALLOCATED_SPACE(rt->dst.dev) + 15,
+				  length + hlen + tlen + 15,
 				  flags & MSG_DONTWAIT, &err);
 	if (skb == NULL)
 		goto error;
-	skb_reserve(skb, LL_RESERVED_SPACE(rt->dst.dev));
+	skb_reserve(skb, hlen);
 
 	skb->priority = sk->sk_priority;
 	skb->mark = sk->sk_mark;

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 4/6] net: Remove LL_ALLOCATED_SPACE
  2011-11-18 12:18                                         ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment Herbert Xu
                                                             ` (3 preceding siblings ...)
  2011-11-18 12:20                                           ` [PATCH 5/6] packet: Add needed_tailroom to packet_sendmsg_spkt Herbert Xu
@ 2011-11-18 12:20                                           ` Herbert Xu
  2011-11-18 12:20                                           ` [PATCH 6/6] ip_gre: Set needed_headroom dynamically again Herbert Xu
  2011-11-18 20:01                                           ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment David Miller
  6 siblings, 0 replies; 35+ messages in thread
From: Herbert Xu @ 2011-11-18 12:20 UTC (permalink / raw)
  To: David Miller, eric.dumazet, evonlanthen, linux-kernel, netdev,
	timo.teras

net: Remove LL_ALLOCATED_SPACE

The macro LL_ALLOCATED_SPACE was ill-conceived.  It applies the
alignment to the sum of needed_headroom and needed_tailroom.  As
the amount that is then reserved for head room is needed_headroom
with alignment, this means that the tail room left may be too small.

Now that all uses of LL_ALLOCATED_SPACE have been removed, this
patch finally removes the macro itself.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---

 include/linux/netdevice.h |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index cbeb586..1568c9d 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -272,16 +272,11 @@ struct hh_cache {
  *
  * We could use other alignment values, but we must maintain the
  * relationship HH alignment <= LL alignment.
- *
- * LL_ALLOCATED_SPACE also takes into account the tailroom the device
- * may need.
  */
 #define LL_RESERVED_SPACE(dev) \
 	((((dev)->hard_header_len+(dev)->needed_headroom)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
 #define LL_RESERVED_SPACE_EXTRA(dev,extra) \
 	((((dev)->hard_header_len+(dev)->needed_headroom+(extra))&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
-#define LL_ALLOCATED_SPACE(dev) \
-	((((dev)->hard_header_len+(dev)->needed_headroom+(dev)->needed_tailroom)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
 
 struct header_ops {
 	int	(*create) (struct sk_buff *skb, struct net_device *dev,

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 5/6] packet: Add needed_tailroom to packet_sendmsg_spkt
  2011-11-18 12:18                                         ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment Herbert Xu
                                                             ` (2 preceding siblings ...)
  2011-11-18 12:20                                           ` [PATCH 3/6] net: " Herbert Xu
@ 2011-11-18 12:20                                           ` Herbert Xu
  2011-11-18 12:20                                           ` [PATCH 4/6] net: Remove LL_ALLOCATED_SPACE Herbert Xu
                                                             ` (2 subsequent siblings)
  6 siblings, 0 replies; 35+ messages in thread
From: Herbert Xu @ 2011-11-18 12:20 UTC (permalink / raw)
  To: David Miller, eric.dumazet, evonlanthen, linux-kernel, netdev,
	timo.teras

packet: Add needed_tailroom to packet_sendmsg_spkt

While auditing LL_ALLOCATED_SPACE I noticed that packet_sendmsg_spkt
did not include needed_tailroom when allocating an skb.  This isn't
a fatal error as we should always tolerate inadequate tail room but
it isn't optimal.

This patch fixes that.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---

 net/packet/af_packet.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index 71c1a75..0da505c 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1499,10 +1499,11 @@ retry:
 
 	if (!skb) {
 		size_t reserved = LL_RESERVED_SPACE(dev);
+		int tlen = dev->needed_tailroom;
 		unsigned int hhlen = dev->header_ops ? dev->hard_header_len : 0;
 
 		rcu_read_unlock();
-		skb = sock_wmalloc(sk, len + reserved, 0, GFP_KERNEL);
+		skb = sock_wmalloc(sk, len + reserved + tlen, 0, GFP_KERNEL);
 		if (skb == NULL)
 			return -ENOBUFS;
 		/* FIXME: Save some space for broken drivers that write a hard

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 6/6] ip_gre: Set needed_headroom dynamically again
  2011-11-18 12:18                                         ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment Herbert Xu
                                                             ` (4 preceding siblings ...)
  2011-11-18 12:20                                           ` [PATCH 4/6] net: Remove LL_ALLOCATED_SPACE Herbert Xu
@ 2011-11-18 12:20                                           ` Herbert Xu
  2011-11-18 20:01                                           ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment David Miller
  6 siblings, 0 replies; 35+ messages in thread
From: Herbert Xu @ 2011-11-18 12:20 UTC (permalink / raw)
  To: David Miller, eric.dumazet, evonlanthen, linux-kernel, netdev,
	timo.teras

ip_gre: Set needed_headroom dynamically again

Now that all needed_headroom users have been fixed up so that
we can safely increase needed_headroom, this patch restore the
dynamic update of needed_headroom.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---

 net/ipv4/ip_gre.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index d55110e..d7bb94c 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -835,6 +835,8 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
 	if (skb_headroom(skb) < max_headroom || skb_shared(skb)||
 	    (skb_cloned(skb) && !skb_clone_writable(skb, 0))) {
 		struct sk_buff *new_skb = skb_realloc_headroom(skb, max_headroom);
+		if (max_headroom > dev->needed_headroom)
+			dev->needed_headroom = max_headroom;
 		if (!new_skb) {
 			ip_rt_put(rt);
 			dev->stats.tx_dropped++;

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment
  2011-11-18 12:18                                         ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment Herbert Xu
                                                             ` (5 preceding siblings ...)
  2011-11-18 12:20                                           ` [PATCH 6/6] ip_gre: Set needed_headroom dynamically again Herbert Xu
@ 2011-11-18 20:01                                           ` David Miller
  6 siblings, 0 replies; 35+ messages in thread
From: David Miller @ 2011-11-18 20:01 UTC (permalink / raw)
  To: herbert; +Cc: eric.dumazet, evonlanthen, linux-kernel, netdev, timo.teras

From: Herbert Xu <herbert@gondor.hengli.com.au>
Date: Fri, 18 Nov 2011 20:18:32 +0800

> On Tue, Oct 25, 2011 at 11:12:04PM -0400, David Miller wrote:
>> From: Herbert Xu <herbert@gondor.hengli.com.au>
>> Date: Tue, 25 Oct 2011 13:54:25 +0200
>> 
>> > So I'm going to get rid of LL_ALLOCATED_SPACE completely and
>> > replace it with explicit references to the tailroom as it doesn't
>> > need the alignment anyway (The headroom needs alignment since
>> > we use it to ensure the head is aligned).
>> 
>> Ok.
> 
> Here are the patches that do this.  I also picked up one spot
> that should have used LL_ALLOCATED_SPACE but did not (see 2nd
> last patch).

This all looks good to me, applied to net-next, thanks!

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2011-11-18 20:02 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-14  8:08 PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops Elmar Vonlanthen
2011-10-14 14:57 ` Eric Dumazet
2011-10-17  7:16   ` Elmar Vonlanthen
2011-10-18  2:30     ` Eric Dumazet
2011-10-18  9:34       ` Herbert Xu
2011-10-18 10:01         ` Eric Dumazet
2011-10-18 10:05           ` Herbert Xu
2011-10-18 10:23             ` Eric Dumazet
2011-10-18 10:45               ` Herbert Xu
2011-10-18 11:37                 ` Eric Dumazet
2011-10-18 11:49                   ` Herbert Xu
2011-10-18 12:56                     ` Eric Dumazet
2011-10-18 13:45                       ` Herbert Xu
2011-10-19  7:09                         ` David Miller
2011-10-19  7:18                           ` Eric Dumazet
2011-10-19  7:30                             ` David Miller
2011-10-19  7:52                               ` Eric Dumazet
2011-10-19  8:02                                 ` David Miller
2011-10-19  8:08                               ` Herbert Xu
2011-10-20  9:30                                 ` David Miller
2011-10-20  9:35                                   ` Herbert Xu
2011-10-20 20:21                                     ` David Miller
2011-10-25 11:54                                     ` Herbert Xu
2011-10-26  3:12                                       ` David Miller
2011-11-18 12:18                                         ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment Herbert Xu
2011-11-18 12:20                                           ` [PATCH 1/6] ipv4: Remove all uses of LL_ALLOCATED_SPACE Herbert Xu
2011-11-18 12:20                                           ` [PATCH 2/6] ipv6: " Herbert Xu
2011-11-18 12:20                                           ` [PATCH 3/6] net: " Herbert Xu
2011-11-18 12:20                                           ` [PATCH 5/6] packet: Add needed_tailroom to packet_sendmsg_spkt Herbert Xu
2011-11-18 12:20                                           ` [PATCH 4/6] net: Remove LL_ALLOCATED_SPACE Herbert Xu
2011-11-18 12:20                                           ` [PATCH 6/6] ip_gre: Set needed_headroom dynamically again Herbert Xu
2011-11-18 20:01                                           ` [0/6] Replace LL_ALLOCATED_SPACE to allow needed_headroom adjustment David Miller
     [not found] <CA+0Zf5C1B67f7RSiEej86rGFC1Ms9vH-qmk1wN1phtskfq2vEA@mail.gmail.com>
2011-10-13 13:35 ` PROBLEM: System call 'sendmsg' of process ospfd (quagga) causes kernel oops Elmar Vonlanthen
2011-10-13 13:54 ` Elmar Vonlanthen
  -- strict thread matches above, loose matches on Subject: below --
2011-10-13  8:56 Elmar Vonlanthen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).