Re: [GIT] Networking

Dave Jones
2014-06-16T23:43:07Z

On Mon, Jun 16, 2014 at 07:04:50PM -0400, Dave Jones wrote:
> On Sun, Jun 15, 2014 at 07:33:12PM -0700, David Miller wrote:
>
> > 1) Fix checksumming regressions, from Tom Herbert.
>
> Something still not right for me here.
> After about 5 minutes, I get an oops and then instant reboot/lock up.
>
> I haven't managed to get a trace over usb-serial because it seems to
> crash before it completes. Hand transcribed one looks like..
>
> rbp: ffff880236403970 r08: 0000000000000000 r09: 0000000000000000
> r10: 000000000000005a r11: 00000000000002d7 f12: ffff880233000d80
> r13: ffff8800aa1a6fc2 r14: ffff880233001d40 f15: 00000000ffffac82
> fs: 0 fs: ffff880236400000 knlGS: 0
> CS: 10 DS: 0 ES: 0 CR0: 80050033
> CR2: ffff8800aa1a8000 CR3: 1a0d000 CR4: 407f0
> Stack:
> ffff880236403988 ffffffff81298bbc 00000000000016c0 ffff8802364039e8
> ffffffff814ca05a ffff880233001d40 000005a80000e397 ffff880233001680
> 0000000000000000 0d420685ffffac82 000000000000012a 000000000000004e
> Call Trace:
> <IRQ>
> csum_partial
> tcp_gso_segment
> inet_gso_segment
> ? update_dl_migration
> skb_mac_gso_segment
> __skb_gso_segment
> dev_hard_start_xmit
> sch_direct_xmit
> __dev_queue_xmit
> ? dev_hard_start_xmit
> dev_queue_xmit
> ip_finish_output
> ? ip_output
> ip_output
> ip_forward_finish
> ip_forward
> ip_rcv_finish
> ip_rcv
> __netif_receive_skb_core
> ? __netif_receive_skb_core
> ? trace_hardirqs_on
> __netif_receive_skb
> netif_receive_skb_internal
> napi_gro_complete
> ? napi_gro_complete
> dev_gro_receive
> ? dev_gro_receive
> napi_gro_receive
> rtl8169_poll
> net_rx_action
> __do_softirq
> irq_exit
> do_IRQ
> common_interrupt
> <EOI>
> cpuidle_enter_state
> cpuidle_enter
> cpu_startup_entry
> rest_init
> ? csum_partial_copy_generic
> start_kernel
> RIP: do_csum+0x83/0x180
>
> Code: 41 89 d2 74 45 89 d1 45 31 c0 48 89 fa 0f 1f 00 48 03 02 48 13 42
> 08 48 13 42 10 48 13 42 20 48 13 42 28 48 13 42 30 <48> 13 42 38 4c 11
> c0 48 83 c2 40 83 e9 01 75 d5 41 83 ea 01 49
>
> All code
> ========
> 0: 41 89 d2 mov %edx,%r10d
> 3: 74 45 je 0x4a
> 5: 89 d1 mov %edx,%ecx
> 7: 45 31 c0 xor %r8d,%r8d
> a: 48 89 fa mov %rdi,%rdx
> d: 0f 1f 00 nopl (%rax)
> 10: 48 03 02 add (%rdx),%rax
> 13: 48 13 42 08 adc 0x8(%rdx),%rax
> 17: 48 13 42 10 adc 0x10(%rdx),%rax
> 1b: 48 13 42 20 adc 0x20(%rdx),%rax
> 1f: 48 13 42 28 adc 0x28(%rdx),%rax
> 23: 48 13 42 30 adc 0x30(%rdx),%rax
> 27:* 48 13 42 38 adc 0x38(%rdx),%rax <-- trapping instruction
> 2b: 4c 11 c0 adc %r8,%rax
> 2e: 48 83 c2 40 add $0x40,%rdx
> 32: 83 e9 01 sub $0x1,%ecx
> 35: 75 d5 jne 0xc
> 37: 41 83 ea 01 sub $0x1,%r10d
> 3b: 49 rex.WB
>
> Typical, rdx and rax had scrolled off the screen.

after removing the dump_stack invocations, I noticed that the reason
this is rebooting is probably because right after the initial oops
we hit the WARN_ON at arch/x86/kernel/smp.c:124

if (unlikely(cpu_is_offline(cpu))) {
WARN_ON(1);
return;
}

lol.

Anwyay, before all that nonsense, I now have the top of the oops..

BUG: unable to handle kernel paging request at ffff880218c18000
IP: do_csum+0x68
PGD: 2c6a067 PUD: 2c6d067 PMD 23fd1c067 PTE: 80000000218c18060
RAX: 2090539bbf7b28f2 RBX: 00000000acb23d4e RCX: 000000000000000b
RDX: ffff880218c18000 RSI: 0000000000001c62 RDI: ffff880218c16680

Maybe also notable here is that the kernel is built with DEBUG_PAGEALLOC on.

Dave