Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752768AbZKLJsR (ORCPT ); Thu, 12 Nov 2009 04:48:17 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751786AbZKLJsQ (ORCPT ); Thu, 12 Nov 2009 04:48:16 -0500 Received: from mail-pw0-f42.google.com ([209.85.160.42]:39202 "EHLO mail-pw0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751103AbZKLJsP (ORCPT ); Thu, 12 Nov 2009 04:48:15 -0500 MIME-Version: 1.0 In-Reply-To: <20091112091602.GC8742@kernel.dk> References: <4AFA835B.9000904@garzik.org> <4AFB2F2A.7080900@garzik.org> <20091112091602.GC8742@kernel.dk> Date: Thu, 12 Nov 2009 04:48:20 -0500 Message-ID: Subject: Re: Crash during SATA reads From: Glenn Maynard To: Jens Axboe Cc: Jeff Garzik , linux-kernel@vger.kernel.org, linux-scsi Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3403 Lines: 79 On Thu, Nov 12, 2009 at 4:16 AM, Jens Axboe wrote: > So the device isn't mounted, which means that we'll default to 1k > blocks. I think that's a big clue here, as you'll have 4 buffer_heads > pointing to the same page. And one of your oopses is indeed in the > ->b_this_page unroll. > > Can you trigger this if you mount/umount the device first? Yeah. I've reproduced it reading from /dev/sda (the drive the root partition is mounted on) with no second drive attached, too. I'm currently reproducing it with "dd if=/dev/sda of=/dev/sdb", since that reproduces faster and more reproducably than just reading. Here's a trace from one of these: BUG: unable to handle kernel NULL pointer dereference at 000000c0 IP: [] bdevname+0x8/0x13 *pde = 00000000 Oops: 0000 [#1] PREEMPT last sysfs file: /sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/model Modules linked in: netconsole atl1c rtc Pid: 151, comm: pdflush Not tainted (2.6.31.6 #17) G31M-ES2L EIP: 0060:[] EFLAGS: 00010246 CPU: 0 EIP is at bdevname+0x8/0x13 EAX: df4ddcf0 EBX: 00000000 ECX: df87fd54 EDX: 00000000 ESI: d5cfa0c0 EDI: 00000000 EBP: 00000001 ESP: df87fd38 DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 Process pdflush (pid: 151, ti=df87e000 task=df8caae0 task.ti=df87e000) Stack: c11582ff 0006d250 00000000 fffffffb 00000002 00000246 c1ae7e80 00011200 <0> 00011210 df83a9e0 c1043b26 df87fd60 00000004 00000101 c101be1c 00000000 <0> 00000000 d5cfa0c0 00000001 c11583e4 00000001 df83aa00 df83aa00 c107d6db Call Trace: [] ? generic_make_request+0x1cc/0x209 [] ? mempool_alloc+0x1e/0xd6 [] ? __do_softirq+0x9b/0xc8 [] ? submit_bio+0xa8/0xb0 [] ? bio_alloc_bioset+0x3e/0xa4 [] ? submit_bh+0x127/0x152 [] ? __block_write_full_page+0x1ff/0x2d8 [] ? blkdev_get_block+0x0/0x46 [] ? block_write_full_page_endio+0xe2/0xec [] ? end_buffer_async_write+0x0/0xd4 [] ? blkdev_get_block+0x0/0x46 [] ? block_write_full_page+0xa/0xc [] ? end_buffer_async_write+0x0/0xd4 [] ? __writepage+0x8/0x1d [] ? write_cache_pages+0x1bf/0x2bc [] ? __writepage+0x0/0x1d [] ? generic_writepages+0x0/0x1f [] ? generic_writepages+0x1c/0x1f [] ? do_writepages+0x22/0x32 [] ? writeback_single_inode+0xad/0x1b2 [] ? generic_sync_sb_inodes+0x129/0x26e [] ? pdflush+0x0/0x2d [] ? writeback_inodes+0x64/0xb4 [] ? background_writeout+0x5f/0x91 [] ? __pdflush+0xcf/0x1a4 [] ? pdflush+0x29/0x2d [] ? background_writeout+0x0/0x91 [] ? pdflush+0x0/0x2d [] ? kthread+0x6b/0x70 [] ? kthread+0x0/0x70 [] ? kernel_thread_helper+0x7/0x10 Code: 09 56 53 68 f7 09 2e c1 eb 07 56 53 68 90 0a 2e c1 6a 20 55 e8 f0 01 0d 00 83 c4 14 5b 89 e8 5e 5f 5d c3 89 d1 8b 50 48 8b 40 54 <8b> 92 c0 00 00 00 e9 92 ff ff ff 53 89 d3 89 c2 81 e2 ff ff 0f EIP: [] bdevname+0x8/0x13 SS:ESP 0068:df87fd38 CR2: 00000000000000c0 -- Glenn Maynard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/