Revision 4906f9985e310fc01f956256b0d58ac28b0dcb19 authored by Herbert Xu on 09 February 2009, 23:07:18 UTC, committed by David S. Miller on 09 February 2009, 23:07:18 UTC
> Kernel BUG at drivers/net/tun.c:444
> invalid opcode: 0000 [1] SMP
> last sysfs file: /class/net/lo/ifindex
> CPU 0
> Modules linked in: tun ipt_MASQUERADE iptable_nat ip_nat xt_state ip_conntrack
> nfnetlink ipt_REJECT xt_tcpudp iptable_filter d
> Pid: 6912, comm: qemu-kvm Tainted: G      2.6.18-128.el5 #1
> RIP: 0010:[<ffffffff886f57b0>]  [<ffffffff886f57b0>]
> :tun:tun_chr_readv+0x2b1/0x3a6
> RSP: 0018:ffff8102202c5e48  EFLAGS: 00010246
> RAX: 0000000000000000 RBX: ffff8102202c5e98 RCX: 0000000004010000
> RDX: ffff810227063680 RSI: ffff8102202c5e9e RDI: ffff8102202c5e92
> RBP: 0000000000010ff6 R08: 0000000000000000 R09: 0000000000000001
> R10: ffff8102202c5e94 R11: 0000000000000202 R12: ffff8102275357c0
> R13: ffff81022755e500 R14: 0000000000000000 R15: ffff8102202c5ef8
> FS:  00002ae4398db980(0000) GS:ffffffff803ac000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: 00002ae4ab514000 CR3: 0000000221344000 CR4: 00000000000026e0
> Process qemu-kvm (pid: 6912, threadinfo ffff8102202c4000, task
> ffff81022e58d820)
> Stack:  00000000498735cb ffff810229d1a3c0 0000000000000000 ffff81022e58d820
>  ffffffff8008a461 ffff81022755e528 ffff81022755e528 ffffffff8009f925
>  000005ea05ea0000 ffff8102209d0000 00001051143e1600 ffffffff8003c00e
> Call Trace:
>  [<ffffffff8008a461>] default_wake_function+0x0/0xe
>  [<ffffffff8009f925>] enqueue_hrtimer+0x55/0x70
>  [<ffffffff8003c00e>] hrtimer_start+0xbc/0xce
>  [<ffffffff886f58bf>] :tun:tun_chr_read+0x1a/0x1f
>  [<ffffffff8000b3f3>] vfs_read+0xcb/0x171
>  [<ffffffff800117d4>] sys_read+0x45/0x6e
>  [<ffffffff8005d116>] system_call+0x7e/0x83
>
>
> Code: 0f 0b 68 40 62 6f 88 c2 bc 01 f6 42 0a 08 74 0c 80 4c 24 41
> RIP  [<ffffffff886f57b0>] :tun:tun_chr_readv+0x2b1/0x3a6
>  RSP <ffff8102202c5e48>
>  <0>Kernel panic - not syncing: Fatal exception

This crashed when an LRO packet generated by bnx2x reached a
tun device through the bridge.  We're supposed to drop it at
the bridge.  However, because the check was placed in br_forward
instead of __br_forward, it's only effective if we are sending
the packet through a single port.

This patch fixes it by moving the check into __br_forward.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 20461c1
History
File Mode Size
Kconfig -rw-r--r-- 6.5 KB
Makefile -rw-r--r-- 1.3 KB
allocpercpu.c -rw-r--r-- 4.0 KB
backing-dev.c -rw-r--r-- 7.0 KB
bootmem.c -rw-r--r-- 17.8 KB
bounce.c -rw-r--r-- 6.5 KB
dmapool.c -rw-r--r-- 12.9 KB
fadvise.c -rw-r--r-- 3.3 KB
failslab.c -rw-r--r-- 1.3 KB
filemap.c -rw-r--r-- 65.0 KB
filemap_xip.c -rw-r--r-- 11.0 KB
fremap.c -rw-r--r-- 6.7 KB
highmem.c -rw-r--r-- 8.7 KB
hugetlb.c -rw-r--r-- 60.1 KB
internal.h -rw-r--r-- 7.9 KB
maccess.c -rw-r--r-- 1.4 KB
madvise.c -rw-r--r-- 9.5 KB
memcontrol.c -rw-r--r-- 56.9 KB
memory.c -rw-r--r-- 86.1 KB
memory_hotplug.c -rw-r--r-- 20.8 KB
mempolicy.c -rw-r--r-- 59.3 KB
mempool.c -rw-r--r-- 9.0 KB
migrate.c -rw-r--r-- 25.7 KB
mincore.c -rw-r--r-- 5.7 KB
mlock.c -rw-r--r-- 16.5 KB
mm_init.c -rw-r--r-- 3.7 KB
mmap.c -rw-r--r-- 64.1 KB
mmu_notifier.c -rw-r--r-- 8.2 KB
mmzone.c -rw-r--r-- 1.5 KB
mprotect.c -rw-r--r-- 7.5 KB
mremap.c -rw-r--r-- 11.1 KB
msync.c -rw-r--r-- 2.4 KB
nommu.c -rw-r--r-- 45.9 KB
oom_kill.c -rw-r--r-- 16.4 KB
page-writeback.c -rw-r--r-- 39.3 KB
page_alloc.c -rw-r--r-- 130.2 KB
page_cgroup.c -rw-r--r-- 10.5 KB
page_io.c -rw-r--r-- 3.4 KB
page_isolation.c -rw-r--r-- 3.6 KB
pagewalk.c -rw-r--r-- 3.2 KB
pdflush.c -rw-r--r-- 6.6 KB
prio_tree.c -rw-r--r-- 6.3 KB
quicklist.c -rw-r--r-- 2.4 KB
readahead.c -rw-r--r-- 13.4 KB
rmap.c -rw-r--r-- 34.2 KB
shmem.c -rw-r--r-- 67.9 KB
shmem_acl.c -rw-r--r-- 4.6 KB
slab.c -rw-r--r-- 115.1 KB
slob.c -rw-r--r-- 15.9 KB
slub.c -rw-r--r-- 105.9 KB
sparse-vmemmap.c -rw-r--r-- 4.2 KB
sparse.c -rw-r--r-- 16.2 KB
swap.c -rw-r--r-- 14.5 KB
swap_state.c -rw-r--r-- 10.1 KB
swapfile.c -rw-r--r-- 50.5 KB
thrash.c -rw-r--r-- 2.0 KB
truncate.c -rw-r--r-- 13.0 KB
util.c -rw-r--r-- 3.9 KB
vmalloc.c -rw-r--r-- 43.0 KB
vmscan.c -rw-r--r-- 72.6 KB
vmstat.c -rw-r--r-- 22.8 KB

back to top