Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 388363 - >=sys-kernel/gentoo-sources-3.0.6: eth0 hw csum error in br_multicast_rcv()
Summary: >=sys-kernel/gentoo-sources-3.0.6: eth0 hw csum error in br_multicast_rcv()
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal critical (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL: http://www.spinics.net/lists/netdev/m...
Whiteboard:
Keywords:
: 388465 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-10-24 17:49 UTC by Michael Mair-Keimberger (iamnr3)
Modified: 2012-03-02 19:00 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
revert_br_mcast_rcv.patch (revert_br_mcast_rcv.patch,968 bytes, patch)
2011-10-25 07:28 UTC, Stratos Psomadakis (RETIRED)
Details | Diff
revert_csum_change.patch (revert_csum_change.patch,833 bytes, patch)
2011-10-25 19:23 UTC, Stratos Psomadakis (RETIRED)
Details | Diff
dmesg (dmesg.txt,64.89 KB, text/plain)
2011-10-26 16:38 UTC, Michael Mair-Keimberger (iamnr3)
Details
kernel 3.0.7 config (kernel.config,61.09 KB, text/plain)
2011-10-26 16:39 UTC, Michael Mair-Keimberger (iamnr3)
Details
lsmod (lsmod.txt,3.30 KB, text/plain)
2011-10-26 16:39 UTC, Michael Mair-Keimberger (iamnr3)
Details
net config (net.config,555 bytes, text/plain)
2011-10-26 16:39 UTC, Michael Mair-Keimberger (iamnr3)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Mair-Keimberger (iamnr3) 2011-10-24 17:49:18 UTC
Since gentoo-sources 3.0.6 and 3.0.7 i get lots of oops after i log in into kde. gentoo-sources-3.0.4 works just fine.

Reproducible: Always

Actual Results:  
gentoo-3.0.7 lots of

Pid: 5138, comm: syslog-ng Not tainted 3.0.7-gentoo #1
Call Trace:
 <IRQ>  [<ffffffff813305bb>] ? netdev_rx_csum_fault+0x2b/0x40
 [<ffffffff813292f7>] ? __skb_checksum_complete_head+0x57/0x70
 [<ffffffffa04934b5>] ? br_multicast_rcv+0x345/0xfd0 [bridge]
 [<ffffffff811d0c0c>] ? cpumask_next_and+0x2c/0x40
 [<ffffffff81031714>] ? select_task_rq_fair+0x544/0x9e0
 [<ffffffff81009653>] ? native_sched_clock+0x23/0x80
 [<ffffffff8102c8f5>] ? resched_task+0x45/0x80
 [<ffffffff8102c9bd>] ? check_preempt_curr+0x6d/0x90
 [<ffffffffa048bdc0>] ? br_dev_queue_push_xmit+0x70/0x70 [bridge]
 [<ffffffff813b3f72>] ? _raw_spin_unlock_irqrestore+0x12/0x40
 [<ffffffffa048ca2a>] ? br_handle_frame_finish+0xca/0x2a0 [bridge]
 [<ffffffffa048cda1>] ? br_handle_frame+0x1a1/0x210 [bridge]
 [<ffffffffa048cc00>] ? br_handle_frame_finish+0x2a0/0x2a0 [bridge]
 [<ffffffff8132dc88>] ? __netif_receive_skb+0x148/0x380
 [<ffffffff8132fba5>] ? netif_receive_skb+0x85/0x90
 [<ffffffff813301f3>] ? napi_gro_receive+0xa3/0xc0
 [<ffffffff8132fcc8>] ? napi_skb_finish+0x38/0x50
 [<ffffffffa0012f74>] ? sky2_poll+0x644/0xc70 [sky2]
 [<ffffffff810f1390>] ? pollwake+0x50/0x60
 [<ffffffff81037460>] ? try_to_wake_up+0x270/0x270
 [<ffffffff81332781>] ? net_rx_action+0x81/0x120
 [<ffffffff8105f0e5>] ? sched_clock_local+0x15/0x80
 [<ffffffff810423d8>] ? __do_softirq+0xa8/0x140
 [<ffffffff813b5a8c>] ? call_softirq+0x1c/0x30
 [<ffffffff810040cd>] ? do_softirq+0x4d/0x80
 [<ffffffff8104277e>] ? irq_exit+0x9e/0xc0
 [<ffffffff81003ccc>] ? do_IRQ+0x5c/0xd0
 [<ffffffff813b4593>] ? common_interrupt+0x13/0x13
 <EOI>  [<ffffffff813b3f2c>] ? _raw_spin_unlock_irq+0xc/0x40
 [<ffffffff813b426f>] ? _raw_spin_lock_irq+0xf/0x30
 [<ffffffff8103d9d5>] ? do_syslog+0x265/0x570
 [<ffffffff811d7cc1>] ? timerqueue_add+0x61/0xb0
 [<ffffffff813b3f72>] ? _raw_spin_unlock_irqrestore+0x12/0x40
 [<ffffffff8105cc9d>] ? __hrtimer_start_range_ns+0x18d/0x470
 [<ffffffff81138cd0>] ? kmsg_poll+0x40/0x40
 [<ffffffff81138cfe>] ? kmsg_read+0x2e/0x70
 [<ffffffff8112e43d>] ? proc_reg_read+0x7d/0xc0
 [<ffffffff810df8c3>] ? vfs_read+0xc3/0x160
 [<ffffffff810df9ae>] ? sys_read+0x4e/0x90
 [<ffffffff813b4bbb>] ? system_call_fastpath+0x16/0x1b
eth0: hw csum failure.

gentoo-3.0.6 (stable) lots of:
Call Trace:
 <IRQ>  [<ffffffff813306ab>] ? netdev_rx_csum_fault+0x2b/0x40
 [<ffffffff813293e7>] ? __skb_checksum_complete_head+0x57/0x70
 [<ffffffffa04924b5>] ? br_multicast_rcv+0x345/0xfd0 [bridge]
 [<ffffffff81031714>] ? select_task_rq_fair+0x544/0x9e0
 [<ffffffff81009653>] ? native_sched_clock+0x23/0x80
 [<ffffffff8102c8f5>] ? resched_task+0x45/0x80
 [<ffffffff8102c9bd>] ? check_preempt_curr+0x6d/0x90
 [<ffffffff8102c9f9>] ? ttwu_do_wakeup+0x19/0xa0
 [<ffffffff813b4012>] ? _raw_spin_unlock_irqrestore+0x12/0x40
 [<ffffffff810374a6>] ? try_to_wake_up+0x1b6/0x270
 [<ffffffffa048ba2a>] ? br_handle_frame_finish+0xca/0x2a0 [bridge]
 [<ffffffffa048bda1>] ? br_handle_frame+0x1a1/0x210 [bridge]
 [<ffffffffa048bc00>] ? br_handle_frame_finish+0x2a0/0x2a0 [bridge]
 [<ffffffff8132dd78>] ? __netif_receive_skb+0x148/0x380
 [<ffffffff8132fc95>] ? netif_receive_skb+0x85/0x90
 [<ffffffff813302e3>] ? napi_gro_receive+0xa3/0xc0
 [<ffffffff8132fdb8>] ? napi_skb_finish+0x38/0x50
 [<ffffffffa0032f74>] ? sky2_poll+0x644/0xc70 [sky2]
 [<ffffffff81031714>] ? select_task_rq_fair+0x544/0x9e0
 [<ffffffff81009653>] ? native_sched_clock+0x23/0x80
 [<ffffffff8102d2c1>] ? cpuacct_charge+0x21/0x60
 [<ffffffff81332871>] ? net_rx_action+0x81/0x120
 [<ffffffff8105f1e5>] ? sched_clock_local+0x15/0x80
 [<ffffffff810424d8>] ? __do_softirq+0xa8/0x140
 [<ffffffff813b5b4c>] ? call_softirq+0x1c/0x30
 [<ffffffff810040cd>] ? do_softirq+0x4d/0x80
 [<ffffffff8104287e>] ? irq_exit+0x9e/0xc0
 [<ffffffff81003ccc>] ? do_IRQ+0x5c/0xd0
 [<ffffffff813b4653>] ? common_interrupt+0x13/0x13
 <EOI>  [<ffffffff8100a2c3>] ? mwait_idle+0x63/0x90
 [<ffffffff8100a286>] ? mwait_idle+0x26/0x90
 [<ffffffff8100096c>] ? cpu_idle+0x4c/0xa0
 [<ffffffff81559afb>] ? start_kernel+0x32c/0x337
eth0: hw csum failure.
Pid: 5370, comm: X Not tainted 3.0.6-gentoo #1

Expected Results:  
no oops :)

emerge --info

Portage 2.1.10.11 (default/linux/amd64/10.0/no-multilib, gcc-4.5.3, glibc-2.12.2-r0, 3.0.4-gentoo x86_64)
=================================================================
System uname: Linux-3.0.4-gentoo-x86_64-Intel-R-_Core-TM-2_CPU_6600_@_2.40GHz-with-gentoo-2.0.3
Timestamp of tree: Sun, 23 Oct 2011 04:15:01 +0000
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.1-r1, 3.1.3-r1
dev-util/cmake:           2.8.4-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.8.3-r1
sys-apps/sandbox:         2.4
sys-devel/autoconf:       2.68
sys-devel/automake:       1.9.6-r3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.12.2
Repositories: gentoo x-local sunrise x11 multimedia
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10.1 PUEL ut2003 dlj-1.1"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs candy distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1,--hash-style=gnu,--as-needed"
LINGUAS="en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/media/public/overlays/local /media/public/overlays/layman/sunrise /media/public/overlays/layman/x11 /media/public/overlays/layman/multimedia"
SYNC="rsync://192.168.2.60/gentoo-portage"
USE="X acl alsa amd64 berkdb bzip2 cdr cli consolekit cracklib crypt cups cxx dbus dri dvd exif flac fortran gallium gdbm gif gnutls gpm graphite iconv ipv6 jpeg kde kipi lzma mad mmx mmxext modules mp3 mudflap ncurses nls nptl nptlonly opengl openmp pam pcre phonon plasma png policykit pppd qt4 readline sdl semantic-desktop session spell sse sse2 ssl ssse3 sysfs tcpd threads tiff truetype udev unicode v4l2 vorbis vpx xinerama xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" SANE_BACKENDS="net niash" USERLAND="GNU" VIDEO_CARDS="radeon r300" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Stratos Psomadakis (RETIRED) gentoo-dev 2011-10-25 07:27:32 UTC
Seems to be the same issue.

Just in case can you try reverting this patch? [1]
Revert patch against v3.0.6 attached.

[1] http://www.spinics.net/lists/stable-commits/msg13593.html
Comment 2 Stratos Psomadakis (RETIRED) gentoo-dev 2011-10-25 07:28:06 UTC
Created attachment 290769 [details, diff]
revert_br_mcast_rcv.patch
Comment 3 Michael Mair-Keimberger (iamnr3) 2011-10-25 18:54:50 UTC
Well, the patch didn't help..
I still get:


eth0: hw csum failure.
Pid: 5737, comm: virtuoso-t Not tainted 3.0.7-gentoo-r1 #1
Call Trace:
 <IRQ>  [<ffffffff813305bb>] ? netdev_rx_csum_fault+0x2b/0x40
 [<ffffffff813292f7>] ? __skb_checksum_complete_head+0x57/0x70
 [<ffffffffa04914b9>] ? br_multicast_rcv+0x349/0xfe0 [bridge]
 [<ffffffff8134afa4>] ? netlink_broadcast+0x14/0x20
 [<ffffffff8134cc47>] ? nlmsg_notify+0x47/0xc0
 [<ffffffffa0488a3e>] ? fdb_create+0x8e/0xb0 [bridge]
 [<ffffffffa048aa2a>] ? br_handle_frame_finish+0xca/0x2a0 [bridge]
 [<ffffffffa048ada1>] ? br_handle_frame+0x1a1/0x210 [bridge]
 [<ffffffffa048ac00>] ? br_handle_frame_finish+0x2a0/0x2a0 [bridge]
 [<ffffffff8132dc88>] ? __netif_receive_skb+0x148/0x380
 [<ffffffff8132fba5>] ? netif_receive_skb+0x85/0x90
 [<ffffffff813301f3>] ? napi_gro_receive+0xa3/0xc0
 [<ffffffff8132fcc8>] ? napi_skb_finish+0x38/0x50
 [<ffffffffa0152f74>] ? sky2_poll+0x644/0xc70 [sky2]
 [<ffffffffa010a6bd>] ? drm_handle_vblank_events+0x15d/0x170 [drm]
 [<ffffffff813b3f72>] ? _raw_spin_unlock_irqrestore+0x12/0x40
 [<ffffffff8102d2c1>] ? cpuacct_charge+0x21/0x60
 [<ffffffff81332781>] ? net_rx_action+0x81/0x120
 [<ffffffff8105f0e5>] ? sched_clock_local+0x15/0x80
 [<ffffffff810423d8>] ? __do_softirq+0xa8/0x140
 [<ffffffff813b5a8c>] ? call_softirq+0x1c/0x30
 [<ffffffff810040cd>] ? do_softirq+0x4d/0x80
 [<ffffffff8104277e>] ? irq_exit+0x9e/0xc0
 [<ffffffff81003ccc>] ? do_IRQ+0x5c/0xd0
 [<ffffffff813b4593>] ? common_interrupt+0x13/0x13
 <EOI> 
eth0: hw csum failure.
Pid: 5737, comm: virtuoso-t Not tainted 3.0.7-gentoo-r1 #1
Call Trace:
 <IRQ>  [<ffffffff813305bb>] ? netdev_rx_csum_fault+0x2b/0x40
 [<ffffffff813292f7>] ? __skb_checksum_complete_head+0x57/0x70
 [<ffffffffa04914b9>] ? br_multicast_rcv+0x349/0xfe0 [bridge]
 [<ffffffffa048aa2a>] ? br_handle_frame_finish+0xca/0x2a0 [bridge]
 [<ffffffffa048ada1>] ? br_handle_frame+0x1a1/0x210 [bridge]
 [<ffffffffa048ac00>] ? br_handle_frame_finish+0x2a0/0x2a0 [bridge]
 [<ffffffff8132dc88>] ? __netif_receive_skb+0x148/0x380
 [<ffffffff8132fba5>] ? netif_receive_skb+0x85/0x90
 [<ffffffff813301f3>] ? napi_gro_receive+0xa3/0xc0
 [<ffffffff8132fcc8>] ? napi_skb_finish+0x38/0x50
 [<ffffffffa0152f74>] ? sky2_poll+0x644/0xc70 [sky2]
 [<ffffffffa010a6bd>] ? drm_handle_vblank_events+0x15d/0x170 [drm]
 [<ffffffff8102d738>] ? update_cfs_shares+0x1b8/0x1c0
 [<ffffffff8102d2c1>] ? cpuacct_charge+0x21/0x60
 [<ffffffff81332781>] ? net_rx_action+0x81/0x120
 [<ffffffff8105f0e5>] ? sched_clock_local+0x15/0x80
 [<ffffffff810423d8>] ? __do_softirq+0xa8/0x140
 [<ffffffff813b5a8c>] ? call_softirq+0x1c/0x30
 [<ffffffff810040cd>] ? do_softirq+0x4d/0x80
 [<ffffffff8104277e>] ? irq_exit+0x9e/0xc0
 [<ffffffff81003ccc>] ? do_IRQ+0x5c/0xd0
 [<ffffffff813b4593>] ? common_interrupt+0x13/0x13
 <EOI> 


At least a bit different than before.
I patched against 3.0.7
Comment 4 Stratos Psomadakis (RETIRED) gentoo-dev 2011-10-25 19:23:50 UTC
Created attachment 290821 [details, diff]
revert_csum_change.patch

Ok, I think that this should work. It reverts commit 42270cd40ba8e0134cffd1c036a1aa3d844369a8 (upstream commit 4b275d7efa1c4412f0d572fcd7f78ed0919370b3 [1]): 
"bridge: Pseudo-header required for the checksum of ICMPv6"

I want to take a look at the code, but it seems that this one is causing the trouble. 

If this is the case, you'll probably be able to reproduce the bug with 3.1 kernels.

[1] http://patchwork.ozlabs.org/patch/111276/
Comment 5 Stratos Psomadakis (RETIRED) gentoo-dev 2011-10-26 14:03:30 UTC
And just to clarify some things: 
1) Are you using IPv6 networking with the sky2 driver? 
2) Are you actually using a bridge for IPv6 MLD snooping for multicast IPv6 traffic?

Can you also attach:
1) your kernel configuration
2) the complete output of dmesg
3) the output of lsmod
4) your net config

Thanks.
Comment 6 Stratos Psomadakis (RETIRED) gentoo-dev 2011-10-26 14:11:11 UTC
*** Bug 388465 has been marked as a duplicate of this bug. ***
Comment 7 Michael Mair-Keimberger (iamnr3) 2011-10-26 16:38:26 UTC
Hi 

1. I have ipv6 use flag, but no special configuration regarding ipv6
2. I have a bridge configurated, but no "IPv6 MLD snooping for multicast IPv6
traffic". At least i don't think so ;) Where can i look for that?

I'll gone attach what you want and then i'll gonna give kernel 3.1 a try.
Comment 8 Michael Mair-Keimberger (iamnr3) 2011-10-26 16:38:43 UTC
Created attachment 290901 [details]
dmesg
Comment 9 Michael Mair-Keimberger (iamnr3) 2011-10-26 16:39:01 UTC
Created attachment 290903 [details]
kernel 3.0.7 config
Comment 10 Michael Mair-Keimberger (iamnr3) 2011-10-26 16:39:45 UTC
Created attachment 290905 [details]
lsmod
Comment 11 Michael Mair-Keimberger (iamnr3) 2011-10-26 16:39:58 UTC
Created attachment 290907 [details]
net config
Comment 12 Michael Mair-Keimberger (iamnr3) 2011-10-26 17:07:54 UTC
As you said, 3.1 also dosn't work:

eth0: hw csum failure.
Pid: 5584, comm: plasma-desktop Not tainted 3.1.0-gentoo #1
Call Trace:
 <IRQ>  [<ffffffff81333b9b>] ? netdev_rx_csum_fault+0x2b/0x40
 [<ffffffff8132c9c7>] ? __skb_checksum_complete_head+0x57/0x70
 [<ffffffffa048f5a5>] ? br_multicast_rcv+0x345/0xfd0 [bridge]
 [<ffffffff813b7a92>] ? _raw_spin_unlock_irqrestore+0x12/0x40
 [<ffffffffa01e2fc5>] ? ehci_urb_enqueue+0x235/0xe40 [ehci_hcd]
 [<ffffffffa005c1ad>] ? usb_hcd_submit_urb+0x8d/0x630 [usbcore]
 [<ffffffffa0488a4a>] ? br_handle_frame_finish+0xca/0x2a0 [bridge]
 [<ffffffffa0488dc1>] ? br_handle_frame+0x1a1/0x210 [bridge]
 [<ffffffffa0488c20>] ? br_handle_frame_finish+0x2a0/0x2a0 [bridge]
 [<ffffffff81331348>] ? __netif_receive_skb+0x148/0x380
 [<ffffffff81333185>] ? netif_receive_skb+0x85/0x90
 [<ffffffff813337d3>] ? napi_gro_receive+0xa3/0xc0
 [<ffffffff813332a8>] ? napi_skb_finish+0x38/0x50
 [<ffffffffa00451f4>] ? sky2_poll+0x644/0xc70 [sky2]
 [<ffffffffa01e06ab>] ? ehci_work+0x30b/0xb30 [ehci_hcd]
 [<ffffffff813b7a92>] ? _raw_spin_unlock_irqrestore+0x12/0x40
 [<ffffffff8102cce1>] ? cpuacct_charge+0x21/0x60
 [<ffffffff81335d91>] ? net_rx_action+0x81/0x120
 [<ffffffff8105f045>] ? sched_clock_local+0x15/0x80
 [<ffffffff81041f18>] ? __do_softirq+0xa8/0x140
 [<ffffffff813b9bec>] ? call_softirq+0x1c/0x30
 [<ffffffff810040ad>] ? do_softirq+0x4d/0x80
 [<ffffffff810422be>] ? irq_exit+0x9e/0xc0
 [<ffffffff81003c9c>] ? do_IRQ+0x5c/0xd0
 [<ffffffff813b80ab>] ? common_interrupt+0x6b/0x6b
 <EOI> 
eth0: hw csum failure.
Pid: 0, comm: swapper Not tainted 3.1.0-gentoo #1
Call Trace:
 <IRQ>  [<ffffffff81333b9b>] ? netdev_rx_csum_fault+0x2b/0x40
 [<ffffffff8132c9c7>] ? __skb_checksum_complete_head+0x57/0x70
 [<ffffffffa048f5a5>] ? br_multicast_rcv+0x345/0xfd0 [bridge]
 [<ffffffff813b7a92>] ? _raw_spin_unlock_irqrestore+0x12/0x40
 [<ffffffffa01e2fc5>] ? ehci_urb_enqueue+0x235/0xe40 [ehci_hcd]
 [<ffffffffa0487db0>] ? br_dev_queue_push_xmit+0x70/0x70 [bridge]
 [<ffffffffa0488a4a>] ? br_handle_frame_finish+0xca/0x2a0 [bridge]
 [<ffffffffa0488dc1>] ? br_handle_frame+0x1a1/0x210 [bridge]
 [<ffffffffa0488c20>] ? br_handle_frame_finish+0x2a0/0x2a0 [bridge]
 [<ffffffff81331348>] ? __netif_receive_skb+0x148/0x380
 [<ffffffff81333185>] ? netif_receive_skb+0x85/0x90
 [<ffffffff813337d3>] ? napi_gro_receive+0xa3/0xc0
 [<ffffffff813332a8>] ? napi_skb_finish+0x38/0x50
 [<ffffffffa00451f4>] ? sky2_poll+0x644/0xc70 [sky2]
 [<ffffffffa01e06ab>] ? ehci_work+0x30b/0xb30 [ehci_hcd]
 [<ffffffff813b7a92>] ? _raw_spin_unlock_irqrestore+0x12/0x40
 [<ffffffff8102cce1>] ? cpuacct_charge+0x21/0x60
 [<ffffffff81335d91>] ? net_rx_action+0x81/0x120
 [<ffffffff8105f045>] ? sched_clock_local+0x15/0x80
 [<ffffffff81041f18>] ? __do_softirq+0xa8/0x140
 [<ffffffff813b9bec>] ? call_softirq+0x1c/0x30
 [<ffffffff810040ad>] ? do_softirq+0x4d/0x80
 [<ffffffff810422be>] ? irq_exit+0x9e/0xc0
 [<ffffffff81003c9c>] ? do_IRQ+0x5c/0xd0
 [<ffffffff813b80ab>] ? common_interrupt+0x6b/0x6b
 <EOI>  [<ffffffff8100a323>] ? mwait_idle+0x63/0x90
 [<ffffffff8100a2e6>] ? mwait_idle+0x26/0x90
 [<ffffffff81000996>] ? cpu_idle+0x76/0xc0
 [<ffffffff8155faf9>] ? start_kernel+0x317/0x322
eth0: hw csum failure.
Pid: 0, comm: swapper Not tainted 3.1.0-gentoo #1
Call Trace:
 <IRQ>  [<ffffffff81333b9b>] ? netdev_rx_csum_fault+0x2b/0x40
 [<ffffffff8132c9c7>] ? __skb_checksum_complete_head+0x57/0x70
 [<ffffffffa048f5a5>] ? br_multicast_rcv+0x345/0xfd0 [bridge]
 [<ffffffff813b7a92>] ? _raw_spin_unlock_irqrestore+0x12/0x40
 [<ffffffffa01e2fc5>] ? ehci_urb_enqueue+0x235/0xe40 [ehci_hcd]
 [<ffffffff810096f3>] ? native_sched_clock+0x23/0x80
 [<ffffffffa005c1ad>] ? usb_hcd_submit_urb+0x8d/0x630 [usbcore]
 [<ffffffffa0488a4a>] ? br_handle_frame_finish+0xca/0x2a0 [bridge]
 [<ffffffffa0488dc1>] ? br_handle_frame+0x1a1/0x210 [bridge]
 [<ffffffffa0488c20>] ? br_handle_frame_finish+0x2a0/0x2a0 [bridge]
 [<ffffffff81331348>] ? __netif_receive_skb+0x148/0x380
 [<ffffffff81333185>] ? netif_receive_skb+0x85/0x90
 [<ffffffff813337d3>] ? napi_gro_receive+0xa3/0xc0
 [<ffffffff813332a8>] ? napi_skb_finish+0x38/0x50
 [<ffffffffa00451f4>] ? sky2_poll+0x644/0xc70 [sky2]
 [<ffffffffa01e06ab>] ? ehci_work+0x30b/0xb30 [ehci_hcd]
 [<ffffffff813b7a92>] ? _raw_spin_unlock_irqrestore+0x12/0x40
 [<ffffffff8102cce1>] ? cpuacct_charge+0x21/0x60
 [<ffffffff81335d91>] ? net_rx_action+0x81/0x120
 [<ffffffff8105f045>] ? sched_clock_local+0x15/0x80
 [<ffffffff81041f18>] ? __do_softirq+0xa8/0x140
 [<ffffffff813b9bec>] ? call_softirq+0x1c/0x30
 [<ffffffff810040ad>] ? do_softirq+0x4d/0x80
 [<ffffffff810422be>] ? irq_exit+0x9e/0xc0
 [<ffffffff81003c9c>] ? do_IRQ+0x5c/0xd0
 [<ffffffff813b80ab>] ? common_interrupt+0x6b/0x6b
 <EOI>  [<ffffffff8100a323>] ? mwait_idle+0x63/0x90
 [<ffffffff8100a2e6>] ? mwait_idle+0x26/0x90
 [<ffffffff81000996>] ? cpu_idle+0x76/0xc0
 [<ffffffff8155faf9>] ? start_kernel+0x317/0x322
eth0: hw csum failure.
Comment 13 Stratos Psomadakis (RETIRED) gentoo-dev 2011-10-26 19:57:44 UTC
Ok, I'm not sure, but as I see it, the most reasonable explanation is that the patch, which changed the csumming, exposed a  possible bug in sky2 checksumming. 

Have you try the revert patch I attached?
If you try it, and it 'fixes' the problem, you can report that upstream (reply to the thread I mention in the URL field at the netdev mailing list, or, if you want, I could do the initial report and you can follow up with any info/testing the devs may want).

As an alternative workaround, disabling CONFIG_BRIDGE_IGMP_SNOOPING (note that it'll disable IPV4 IGMP snooping too), or IPv6 in the kernel config (I'm not sure that rmmoding the ipv6 module will work), should make the OOPS disappear.
Comment 14 Michael Mair-Keimberger (iamnr3) 2011-10-26 21:03:32 UTC
I just wanted to patch a kernel (3.0.7 and 3.1) with your patch from [1], but i can't get it to work. emerge says:

 * Failed Patch: bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch !
 *  ( /media/public/overlays/local/sys-kernel/gentoo-sources/files/bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch )
 * 
 * Include in your bugreport the contents of:
 * 
 *   /var/tmp/portage/sys-kernel/gentoo-sources-3.1.0-r1/temp/bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch.out

 * ERROR: sys-kernel/gentoo-sources-3.1.0-r1 failed (prepare phase):
 *   Failed Patch: bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch!
 * 
 * Call stack:
 *     ebuild.sh, line   56:  Called src_prepare
 *   environment, line 3240:  Called epatch '/media/public/overlays/local/sys-kernel/gentoo-sources/files/bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch'
 *   environment, line 1639:  Called die
 * The specific snippet of code:
 *               die "Failed Patch: ${patchname}!";






Here is the output from bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch.out:


cat /var/tmp/portage/sys-kernel/gentoo-sources-3.1.0-r1/temp/bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch.out
***** bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch *****

==========================================================================

PATCH COMMAND:  patch -p0 -g0 -E --no-backup-if-mismatch < '/media/public/overlays/local/sys-kernel/gentoo-sources/files/bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch'

==========================================================================
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
|index 2d85ca7..22d2d1a 100644
|--- a/net/bridge/br_multicast.c
|+++ b/net/bridge/br_multicast.c
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

patch program exited with status 1
==========================================================================

PATCH COMMAND:  patch -p1 -g0 -E --no-backup-if-mismatch < '/media/public/overlays/local/sys-kernel/gentoo-sources/files/bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch'

==========================================================================
patching file net/bridge/br_multicast.c
Hunk #1 FAILED at 1520.
1 out of 1 hunk FAILED -- saving rejects to file net/bridge/br_multicast.c.rej

patch program exited with status 1
==========================================================================

PATCH COMMAND:  patch -p2 -g0 -E --no-backup-if-mismatch < '/media/public/overlays/local/sys-kernel/gentoo-sources/files/bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch'

==========================================================================
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
|index 2d85ca7..22d2d1a 100644
|--- a/net/bridge/br_multicast.c
|+++ b/net/bridge/br_multicast.c
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

patch program exited with status 1
==========================================================================

PATCH COMMAND:  patch -p3 -g0 -E --no-backup-if-mismatch < '/media/public/overlays/local/sys-kernel/gentoo-sources/files/bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch'

==========================================================================
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
|index 2d85ca7..22d2d1a 100644
|--- a/net/bridge/br_multicast.c
|+++ b/net/bridge/br_multicast.c
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

patch program exited with status 1
==========================================================================

PATCH COMMAND:  patch -p4 -g0 -E --no-backup-if-mismatch < '/media/public/overlays/local/sys-kernel/gentoo-sources/files/bridge-Pseudo-header-required-for-the-checksum-of-ICMPv6.patch'

==========================================================================
missing header for unified diff at line 5 of patch
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
|index 2d85ca7..22d2d1a 100644
|--- a/net/bridge/br_multicast.c
|+++ b/net/bridge/br_multicast.c
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

patch program exited with status 1



Don't know. Guess i'm doing something wrong..

[1] http://patchwork.ozlabs.org/patch/111276/
Comment 15 Stratos Psomadakis (RETIRED) gentoo-dev 2011-10-26 21:16:17 UTC
This is the original patch, you're trying to use. I've attached, in a previous post, a new patch [1] to revert it.

[1] https://bugs.gentoo.org/attachment.cgi?id=290821
Comment 16 Michael Mair-Keimberger (iamnr3) 2011-10-26 21:57:08 UTC
Ahh, i see.. My fault, didn't saw that you posted a new patch.. I thought i had to use that one from your link ;)

Anyway, patching worked now, compiled, restarted.. and it works :)

proof:
michael@asterix ~ $ eselect kernel list
Available kernel symlink targets:
  [1]   linux-2.6.39-gentoo-r3
  [2]   linux-3.0.3-gentoo
  [3]   linux-3.0.4-gentoo
  [4]   linux-3.0.6-gentoo
  [5]   linux-3.0.7-gentoo
  [6]   linux-3.0.7-gentoo-r1 *
  [7]   linux-3.1.0-gentoo
michael@asterix ~ $ uname -a
Linux asterix 3.0.7-gentoo-r1 #1 SMP PREEMPT Wed Oct 26 23:45:23 CEST 2011 x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel GNU/Linux


For the initial report i would prefer that you would post it.As you mentioned i can follow up with infos/tests if any dev needs it but not before next Monday (31.10) since i'm away from friday to sunday..
I didn't test the alternative workaround with disabling CONFIG_BRIDGE_IGMP_SNOOPING, but i could do that tomorrow if want to know if it works..
Comment 17 Stratos Psomadakis (RETIRED) gentoo-dev 2011-10-27 07:05:28 UTC
Thanks for testing.

About CONFIG_BRIDGE_IGMP_SNOOPING, I suggested that as an alternative to silence the oops (if you don't want to patch the kernel until the csum issue is fixed). 

In the next couple of days, I'll probably to post at the netdev ML (I'll cc you to get the mail and be able to reply, if needed).

Btw, I've never had to use sky2, so I'm not familiar with the drivers, but I think Marvell distributes its own out-of-tree GPL'ed driver for its chipsets. But I'm not sure about its status (and the reasons why linux uses a different driver) atm.
Comment 18 Michael Mair-Keimberger (iamnr3) 2012-03-02 19:00:49 UTC
I want to inform you that this bug can be closed. I use gentoo-sources-3.2.1-r2 now and this bug doesn't appear anymore.
Seems to be fixed in recent versions.