HostA has an MTU of 9000 (jumbo frames). HostB (with sky2 driver) has MTU of 9000. While HostA runs 'hping3 -d 65000 --flood -1 HostB', change MTU on HostB to 1500. HostB should just drop packets, since it is receiving the wrong MTU size. Instead, we get oops.
Created attachment 22094 [details] Oops
(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface). On Thu, 25 Jun 2009 17:02:59 GMT bugzilla-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=13623 > > Summary: Oops while changing mtu > Product: Drivers > Version: 2.5 > Kernel Version: 2.6.30 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: Network > AssignedTo: drivers_network@kernel-bugs.osdl.org > ReportedBy: bryanhundven@gmail.com > Regression: No > > > HostA has an MTU of 9000 (jumbo frames). > HostB (with sky2 driver) has MTU of 9000. > > While HostA runs 'hping3 -d 65000 --flood -1 HostB', change MTU on HostB to > 1500. > > HostB should just drop packets, since it is receiving the wrong MTU size. > Instead, we get oops. > This looks like a sky2 bug. > tacoma:~# ifconfig eth1 mtu 1500 > tacoma:~# [ 1605.000027] skb_over_panic: text:e0049c12 len:9010 put:9010 > head:ddf24800 data:ddf24820 tail:0xddf26b52 end:0xddf24e20 dev:eth1 > [ 1605.011622] ------------[ cut here ]------------ > [ 1605.015593] kernel BUG at net/core/skbuff.c:126! > [ 1605.015593] invalid opcode: 0000 [#1] > [ 1605.015593] last sysfs file: /sys/class/net/lo/operstate > [ 1605.015593] Modules linked in: iptable_filter ip_tables x_tables ipv6 > evdev parport_pc parport i2c_i801 snd_pcm i2c_core snd_timer serio_raw > iTCO_wdt snd soundcore snd_page_alloc rng_core intel_agp agpgart pcspkr ext3 > jbd mbcache sd_mod piix ide_pci_generic ide_core ata_generic ata_piix > uhci_hcd ehci_hcd libata skge scsi_mod usbcore sky2 thermal_sys > [ 1605.015593] > [ 1605.015593] Pid: 0, comm: swapper Not tainted (2.6.30 #1) > [ 1605.015593] EIP: 0060:[<c027a4fc>] EFLAGS: 00010296 CPU: 0 > [ 1605.015593] EIP is at skb_put+0x5f/0x6a > [ 1605.015593] EAX: 00000086 EBX: e0049c12 ECX: c03c3ec4 EDX: c0367c09 > [ 1605.015593] ESI: 000005f0 EDI: 00002332 EBP: de6e4b00 ESP: c03c3ec0 > [ 1605.015593] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 > [ 1605.015593] Process swapper (pid: 0, ti=c03c2000 task=c038f2fc > task.ti=c03c2000) > [ 1605.015593] Stack: > [ 1605.015593] c0367c09 e0049c12 00002332 00002332 ddf24800 ddf24820 > ddf26b52 ddf24e20 > [ 1605.015593] dd9e2800 ddbdba40 e0049c12 00000040 dd85e908 00000040 > 0000044b dd85e900 > [ 1605.015593] 00000000 00000286 23320100 dd9e2800 dda82248 dd9e2b40 > 00000000 ddb98000 > [ 1605.015593] Call Trace: > [ 1605.015593] [<e0049c12>] ? sky2_poll+0x5e8/0xa8e [sky2] > [ 1605.015593] [<e0049c12>] ? sky2_poll+0x5e8/0xa8e [sky2] > [ 1605.015593] [<c012a1a0>] ? delayed_work_timer_fn+0x0/0x30 > [ 1605.015593] [<c027edb8>] ? net_rx_action+0x6c/0x128 > [ 1605.015593] [<c0121ff2>] ? __do_softirq+0x82/0x125 > [ 1605.015593] [<c01220c2>] ? do_softirq+0x2d/0x37 > [ 1605.015593] [<c0122185>] ? irq_exit+0x25/0x4e > [ 1605.015593] [<c010e641>] ? smp_apic_timer_interrupt+0x60/0x68 > [ 1605.015593] [<c01035ea>] ? apic_timer_interrupt+0x2a/0x30 > [ 1605.015593] [<c0130000>] ? unregister_reboot_notifier+0x3/0xc > [ 1605.015593] [<c0113670>] ? native_safe_halt+0x2/0x3 > [ 1605.015593] [<c0107beb>] ? default_idle+0x56/0x99 > [ 1605.015593] [<c0102277>] ? cpu_idle+0x28/0x41 > [ 1605.015593] [<c03c490c>] ? start_kernel+0x282/0x285 > [ 1605.015593] Code: 53 35 c0 50 ff b1 a4 00 00 00 ff b1 a0 00 00 00 ff b1 ac > 00 00 00 ff b1 a8 00 00 00 52 ff 71 50 53 68 09 7c 36 c0 e8 46 22 06 00 <0f> > 0b 83 c4 24 eb fe 89 d8 5b c3 55 57 56 53 83 ec 24 fc 89 c5 > [ 1605.015593] EIP: [<c027a4fc>] skb_put+0x5f/0x6a SS:ESP 0068:c03c3ec0 > [ 1605.231961] ---[ end trace db341c436dab02c9 ]--- > [ 1605.236613] Kernel panic - not syncing: Fatal exception in interrupt > [ 1605.243010] Pid: 0, comm: swapper Tainted: G D 2.6.30 #1 > [ 1605.249067] Call Trace: > [ 1605.251534] [<c02dc6a3>] ? panic+0x38/0xd7 > [ 1605.255747] [<c0105373>] ? oops_end+0x7e/0x89 > [ 1605.260261] [<c0103c4e>] ? do_invalid_op+0x0/0x75 > [ 1605.265090] [<c0103cba>] ? do_invalid_op+0x6c/0x75 > [ 1605.270039] [<c027a4fc>] ? skb_put+0x5f/0x6a > [ 1605.274442] [<c0104594>] ? do_IRQ+0x53/0x63 > [ 1605.278742] [<c0103589>] ? common_interrupt+0x29/0x30 > [ 1605.283944] [<c011eeac>] ? vprintk+0x212/0x220 > [ 1605.288537] [<e0049c12>] ? sky2_poll+0x5e8/0xa8e [sky2] > [ 1605.293904] [<c02de065>] ? error_code+0x65/0x70 > [ 1605.298598] [<e0049c12>] ? sky2_poll+0x5e8/0xa8e [sky2] > [ 1605.303960] [<c0103c4e>] ? do_invalid_op+0x0/0x75 > [ 1605.308812] [<c027a4fc>] ? skb_put+0x5f/0x6a > [ 1605.313229] [<e0049c12>] ? sky2_poll+0x5e8/0xa8e [sky2] > [ 1605.318612] [<e0049c12>] ? sky2_poll+0x5e8/0xa8e [sky2] > [ 1605.323982] [<c012a1a0>] ? delayed_work_timer_fn+0x0/0x30 > [ 1605.329521] [<c027edb8>] ? net_rx_action+0x6c/0x128 > [ 1605.334549] [<c0121ff2>] ? __do_softirq+0x82/0x125 > [ 1605.339481] [<c01220c2>] ? do_softirq+0x2d/0x37 > [ 1605.344135] [<c0122185>] ? irq_exit+0x25/0x4e > [ 1605.348627] [<c010e641>] ? smp_apic_timer_interrupt+0x60/0x68 > [ 1605.354529] [<c01035ea>] ? apic_timer_interrupt+0x2a/0x30 > [ 1605.360059] [<c0130000>] ? unregister_reboot_notifier+0x3/0xc > [ 1605.365954] [<c0113670>] ? native_safe_halt+0x2/0x3 > [ 1605.370973] [<c0107beb>] ? default_idle+0x56/0x99 > [ 1605.375811] [<c0102277>] ? cpu_idle+0x28/0x41 > [ 1605.380301] [<c03c490c>] ? start_kernel+0x282/0x285 >
Interestingly, when HostA is in 9000 MTU and HostB is 1500 MTU, I see: [ 77.816024] sky2 eth1: receiver hang detected [ 77.820958] sky2 eth1: disabling interface [ 77.827272] sky2 eth1: enabling interface [ 80.551337] sky2 eth1: Link is up at 1000 Mbps, full duplex, flow control both [ 80.560018] sky2 eth1: receiver hang detected [ 80.564626] sky2 eth1: disabling interface [ 80.570930] sky2 eth1: enabling interface [ 83.269648] sky2 eth1: Link is up at 1000 Mbps, full duplex, flow control both [ 83.280017] sky2 eth1: receiver hang detected [ 83.284857] sky2 eth1: disabling interface [ 83.293417] sky2 eth1: enabling interface I think this might be in another bug though...
Closing as obsolete as sky2 has changed so much since. if this is still seen with a modern kernel please re-open and update the kernel version. Thanks