Kernel panics or no network traffic with network cards that implement LRO

Solution Verified - Updated -

Issue

When using a network card which supports Large Receive Offload (LRO), you may encounter the following panic when traffic forwarding and LRO are enabled:

Kernel BUG at drivers/net/tun.c:476
invalid opcode: 0000 [1] SMP 
last sysfs file: /devices/pci0000:00/0000:00:03.0/local_cpus
CPU 4 
Modules linked in: tun ipt_REJECT xt_tcpudp x_tables bridge autofs4 hidp rfcomm l2cap bluetooth dm_log_clustered(U) lockd sunrpc ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp bnx2i cnic ipv6 xfrm_nalgo crypto_api uio cxgb3i cxgb3 8021q libiscsi_tcp libiscsi2 scsi_transport_iscsi2 scsi_transport_iscsi dm_mirror dm_multipath scsi_dh video hwmon backlight sbs i2c_ec button battery asus_acpi acpi_memhotplug ac parport_pc lp parport ksm(U) kvm_amd(U) kvm(U) joydev i2c_piix4 bnx2x i2c_core hpilo serio_raw pcspkr dm_raid45 dm_message dm_region_hash dm_log dm_mod dm_mem_cache usb_storage shpchp cciss sd_mod scsi_mod ext3 jbd uhci_hcd ohci_hcd ehci_hcd
Pid: 6062, comm: qemu-kvm Tainted: G      2.6.18-164.el5 #1
RIP: 0010:[<ffffffff8864b7d9>]  [<ffffffff8864b7d9>] :tun:tun_chr_readv+0x2b1/0x3a6
RSP: 0018:ffff8101090d9e48  EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8101090d9e98 RCX: 0000000010545010
RDX: ffff81022638d700 RSI: ffff8101090d9e9e RDI: ffff8101090d9e92
RBP: 0000000000010ff6 R08: 0000000000000000 R09: 0000000000000001
R10: ffff8101090d9e94 R11: 0000000000000048 R12: ffff810226387980
R13: ffff81022eebbd00 R14: 0000000000000000 R15: ffff8101090d9ef8
FS:  00002b54898e1f90(0000) GS:ffff8101043191c0(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000018027ba8 CR3: 0000000127892000 CR4: 00000000000006e0
Process qemu-kvm (pid: 6062, threadinfo ffff8101090d8000, task ffff81012bf3f820)
Stack:  ffff8102161a5cc0 ffff81022fd543c0 0000000000000000 ffff81012bf3f820
 ffffffff8008be44 ffff81022eebbd28 ffff81022eebbd28 ffff81012ffb2588
 000005ea05ea0000 0000000000000000 000042de01005254 0000000000000000
Call Trace:
 [<ffffffff8008be44>] default_wake_function+0x0/0xe
 [<ffffffff8864b8e8>] :tun:tun_chr_read+0x1a/0x1f
 [<ffffffff8000b695>] vfs_read+0xcb/0x171
 [<ffffffff80011b72>] sys_read+0x45/0x6e
 [<ffffffff8005d28d>] tracesys+0xd5/0xe0


Code: 0f 0b 68 c8 c4 64 88 c2 dc 01 f6 42 0a 08 74 0c 80 4c 24 41 
RIP  [<ffffffff8864b7d9>] :tun:tun_chr_readv+0x2b1/0x3a6
 RSP <ffff8101090d9e48>

Traffic forwarding is commonly used to provide network connectivity to virtualized guests.

Environment

Red Hat Enterprise Linux 5.4

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content