RE: [E1000-devel] Crash in e1000e, 3.3.8+ (tainted)
From: Dave, Tushar N <hidden>
Date: 2012-07-24 23:23:33
-----Original Message----- From: Ben Greear [mailto:greearb@candelatech.com] Sent: Tuesday, July 24, 2012 4:21 PM To: Dave, Tushar N Cc: e1000-devel list; netdev; Allan, Bruce W Subject: Re: [E1000-devel] Crash in e1000e, 3.3.8+ (tainted) On 07/24/2012 04:13 PM, Dave, Tushar N wrote:quoted
quoted
-----Original Message----- From: Ben Greear [mailto:greearb@candelatech.com] Sent: Tuesday, July 24, 2012 2:46 PM To: e1000-devel list; netdev Subject: [E1000-devel] Crash in e1000e, 3.3.8+ (tainted) We have a somewhat reproducible crash using a 6-port NIC with 3.3.8+ kernel. This kernel is tainted with a proprietary module, but the module is not in use. The rx-all and related patches that were later accepted upstream have been applied to this kernel. It seems that buffer_info is NULL in the code below? (gdb) list e1000_alloc_rx_buffers+0x5b Junk at end of line specification. (gdb) list *(e1000_alloc_rx_buffers+0x5b) 0x15822 is in e1000_alloc_rx_buffers (/home/greearb/git/linux- 3.3.dev.y/drivers/net/ethernet/intel/e1000e/netdev.c:611). 606 607 i = rx_ring->next_to_use; 608 buffer_info = &rx_ring->buffer_info[i]; 609 610 while (cleaned_count--) { 611 skb = buffer_info->skb; 612 if (skb) { 613 skb_trim(skb, 0); 614 goto map_skb; 615 } (gdb)Ben, This looks familiar to me, I believe this is due to race between adapterreset and e1000_close.quoted
Let me check if we have fix upstream or not.I'm testing Bruce Allen's suggestion now: bb9e44d0 (from 3.4).
Yep, commit bb9e44d0 the one.
It applies with fuzz to my 3.3.8+ tree. So far, so good...but need to do some more reboots to be sure. Thanks, Ben -- Ben Greear [off-list ref] Candela Technologies Inc http://www.candelatech.com