Re: unable to handle kernel paging request when inserting FAT32formatted flash media

From: Tino Keitel
Date: Mon May 02 2011 - 16:34:08 EST


On Mon, May 02, 2011 at 22:33:27 +0200, Tino Keitel wrote:
> On Tue, May 03, 2011 at 03:46:31 +0900, OGAWA Hirofumi wrote:
> > Tino Keitel <tino.keitel@xxxxxx> writes:
> >
> > > On Tue, May 03, 2011 at 00:12:33 +0900, OGAWA Hirofumi wrote:
> > >> OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> writes:
> > >>
> > >> > Tino Keitel <tino.keitel@xxxxxxxx> writes:
> > >> >
> > >> >> On Mon, May 02, 2011 at 08:49:45 +0200, Tino Keitel wrote:
> > >> >>> Hi,
> > >> >>>
> > >> >>> when I insert a CF or SD card from my cameras into the USB card reader,
> > >> >>> I get the attached kernel oops. This is reproducible and did not happen
> > >> >>> with 2.6.38.
> > >> >>
> > >> >> Forgot to mention: the bug occurs with 2.6.39-rc5.
> > >> >
> > >> > There is no related change in fs/fat after 2.6.38. So, the cause would
> > >> > be other area. Anyway, I'll see detail a bit.
> > >>
> > >> BTW, is this reproducible? And could you send .config both of 2.6.38 and
> > >> 2.6.39-rc5?
> > >
> > > Yes, it is reproducible. It happens with a CF card from a Canon DSLR as
> > > well as with a SD card from a little Fuji cam. Configs are attached.
> >
> > .config didn't have interest part for now. Could you send another oops,
> > and vfat.ko, fat.ko? I'd like to see more detail by assembler, current
> > oops is unclear...
>
> Another Oops, this time with the SD card, and the modules are attached.

Forgot the attachemnts, as usual.

Attachment: vfat.ko
Description: Binary data

Attachment: fat.ko
Description: Binary data

sd 6:0:0:1: [sdc] 7744512 512-byte logical blocks: (3.96 GB/3.69 GiB)
sd 6:0:0:1: [sdc] Assuming drive cache: write through
sd 6:0:0:1: [sdc] Assuming drive cache: write through
sdc: sdc1
BUG: unable to handle kernel paging request at ffffffffa00b8264
IP: [<ffffffffa00ae661>] fat_build_inode+0x2a1/0x4b0 [fat]
PGD 1635067 PUD 1639063 PMD b8e6b067 PTE 0
Oops: 0000 [#1] SMP
last sysfs file: /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5.2/speed
CPU 1
Modules linked in: nls_iso8859_1 nls_cp437 vfat fat dvb_usb_vp7045 dvb_usb dvb_core rc_core hidp rfcomm ipv6 loop btusb bluetooth usblp arc4 ecb snd_hda_codec_idt snd_hda_intel ath5k snd_hda_codec ath snd_pcm_oss mac80211 snd_pcm snd_timer snd_page_alloc evdev cfg80211 sky2 ata_piix [last unloaded: rc_core]

Pid: 10615, comm: gvfs-gdu-volume Not tainted 2.6.39-rc5-00001-g1beb336-dirty #22 Apple Inc. Macmini2,1/Mac-F4208EAA
RIP: 0010:[<ffffffffa00ae661>] [<ffffffffa00ae661>] fat_build_inode+0x2a1/0x4b0 [fat]
RSP: 0018:ffff8800b3509bd8 EFLAGS: 00010202
RAX: 000000004dbf141c RBX: ffff8800029cdad8 RCX: 0000000000000012
RDX: 00000000000001b6 RSI: 0000000000000001 RDI: ffffffff81632340
RBP: 0000000000020002 R08: 0000000000000073 R09: ffffffffa00d9dc0
R10: 0000000000000000 R11: 0000000000000004 R12: ffff8800a7a23040
R13: ffff8800b5aa8000 R14: ffffffffa00af1d8 R15: ffff8800029cda88
FS: 00007fa6e87017a0(0000) GS:ffff8800bed00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffa00b8264 CR3: 00000000b3b80000 CR4: 00000000000006a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process gvfs-gdu-volume (pid: 10615, threadinfo ffff8800b3508000, task ffff8800b443a780)
Stack:
ffff880079586c90 02ff8800b9571180 0000000000000001 ffff88007e1ac840
ffff8800b0f8b800 0000000000000000 0000000000000001 ffff8800b3509d68
ffff88009e7b9300 ffffffffa00b4692 ffffffff8102ca3d ffff8800b3509de8
Call Trace:
[<ffffffffa00b4692>] ? vfat_lookup+0x82/0x180 [vfat]
[<ffffffff8102ca3d>] ? check_preempt_curr+0x6d/0x90
[<ffffffff810ccedc>] ? d_alloc_and_lookup+0x3c/0x90
[<ffffffff810d907e>] ? d_lookup+0x2e/0x60
[<ffffffff810cedbb>] ? do_lookup+0xcb/0x2a0
[<ffffffff810cfabd>] ? path_lookupat+0x15d/0x7f0
[<ffffffffa00a804b>] ? __fat_readdir.clone.14+0x12b/0xc60 [fat]
[<ffffffff810d017b>] ? do_path_lookup+0x2b/0x90
[<ffffffff810d02cc>] ? user_path_at+0x5c/0xc0
[<ffffffff810c7247>] ? cp_new_stat+0xe7/0x100
[<ffffffff810c70e0>] ? vfs_fstatat+0x40/0x80
[<ffffffff810c755f>] ? sys_newlstat+0x1f/0x50
[<ffffffff814a71fb>] ? system_call_fastpath+0x16/0x1b
Code: fd ff ff 0f 1f 80 00 00 00 00 83 ca 01 89 93 10 02 00 00 ba ff 01 00 00 41 f6 85 96 00 00 00 02 74 51 49 c7 c6 d8 f1 0a a0 b2 b6
3d fc 9b 00 00 00 74 3f 49 8d 44 24 08 48 89 44 24 08 eb 18
RIP [<ffffffffa00ae661>] fat_build_inode+0x2a1/0x4b0 [fat]
RSP <ffff8800b3509bd8>
CR2: ffffffffa00b8264
---[ end trace f689a453b445475b ]---
------------[ cut here ]------------
WARNING: at kernel/exit.c:910 do_exit+0x715/0x7b0()
Hardware name: Macmini2,1
Modules linked in: nls_iso8859_1 nls_cp437 vfat fat dvb_usb_vp7045 dvb_usb dvb_core rc_core hidp rfcomm ipv6 loop btusb bluetooth usblp arc4 ecb snd_hda_codec_idt snd_hda_intel ath5k snd_hda_codec ath snd_pcm_oss mac80211 snd_pcm snd_timer snd_page_alloc evdev cfg80211 sky2 ata_piix [last unloaded: rc_core]
Pid: 10615, comm: gvfs-gdu-volume Tainted: G D 2.6.39-rc5-00001-g1beb336-dirty #22
Call Trace:
[<ffffffff8103a01b>] ? warn_slowpath_common+0x7b/0xc0
[<ffffffff8103dcf5>] ? do_exit+0x715/0x7b0
[<ffffffff814a40d2>] ? printk+0x40/0x46
[<ffffffff8103ba00>] ? kmsg_dump+0x40/0xf0
[<ffffffff81005cca>] ? oops_end+0x9a/0xe0
[<ffffffff81022edd>] ? no_context+0xfd/0x270
[<ffffffff81023856>] ? do_page_fault+0x376/0x410
[<ffffffffa00a6b96>] ? fat_parse_long+0x1d6/0x280 [fat]
[<ffffffffa00a7ebb>] ? fat_search_long+0x7fb/0x860 [fat]
[<ffffffff814a6e1f>] ? page_fault+0x1f/0x30
[<ffffffffa00ae661>] ? fat_build_inode+0x2a1/0x4b0 [fat]
[<ffffffffa00ae490>] ? fat_build_inode+0xd0/0x4b0 [fat]
[<ffffffffa00b4692>] ? vfat_lookup+0x82/0x180 [vfat]
[<ffffffff8102ca3d>] ? check_preempt_curr+0x6d/0x90
[<ffffffff810ccedc>] ? d_alloc_and_lookup+0x3c/0x90
[<ffffffff810d907e>] ? d_lookup+0x2e/0x60
[<ffffffff810cedbb>] ? do_lookup+0xcb/0x2a0
[<ffffffff810cfabd>] ? path_lookupat+0x15d/0x7f0
[<ffffffffa00a804b>] ? __fat_readdir.clone.14+0x12b/0xc60 [fat]
[<ffffffff810d017b>] ? do_path_lookup+0x2b/0x90
[<ffffffff810d02cc>] ? user_path_at+0x5c/0xc0
[<ffffffff810c7247>] ? cp_new_stat+0xe7/0x100
[<ffffffff810c70e0>] ? vfs_fstatat+0x40/0x80
[<ffffffff810c755f>] ? sys_newlstat+0x1f/0x50
[<ffffffff814a71fb>] ? system_call_fastpath+0x16/0x1b
---[ end trace f689a453b445475c ]---