Re: [BUG 2.6.17-git] kmem_cache_create: duplicate cache scsi_cmd_cache

Russell King
2006-05-12T21:52:01Z

On Fri, May 12, 2006 at 02:27:19PM -0700, Linus Torvalds wrote:
> [remove all the inflamatory stuff]

Anyway, you asked for the original oopsen, and here they are. Enjoy.

From: Todd Blumer <todd@sdgsystems.com>
On a PXA27x handheld (iPAQ hx4700), when we eject a mounted SD memory
card, we get a kernel panic (kernel trying to clean up non-existent
device). One hack patch to avoid the panic is:

--- fs/partitions/check.c 10 Apr 2006 22:57:27 -0000 1.15
+++ fs/partitions/check.c 4 May 2006 20:30:15 -0000
@@ -491,6 +491,7 @@
kfree(disk_name);
}
put_device(disk->driverfs_dev);
+ disk->driverfs_dev = 0; /* HACK - what's the right
solution? */
}
kobject_uevent(&disk->kobj, KOBJ_REMOVE);
kobject_del(&disk->kobj);

...
root@ipaq-pxa270:~# Unable to handle kernel NULL pointer dereference at
virtual2pgd = c218c000
[00000002] *pgd=a20ec031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: nls_iso8859_1 nls_cp437 snd_pcm_oss snd_mixer_oss
snd_hx4700rCPU: 0
PC is at strlen+0xc/0x30
LR is at kobject_get_path+0x2c/0xc0
pc : [<c00ee56c>] lr : [<c00eb724>] Not tainted
sp : c21bfde4 ip : c21bfdf4 fp : c21bfdf0
r10: c21bfe28 r9 : 000007a5 r8 : c21bfe2c
r7 : c3554074 r6 : 000000d0 r5 : 00000001 r4 : c3554074
r3 : 00000002 r2 : c01fa88f r1 : 00000002 r0 : 00000002
Flags: nzCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 397F Table: A218C000 DAC: 00000015
Process umount (pid: 2384, stack limit = 0xc21be198)
Stack: (0xc21bfde4 to 0xc21c0000)
fde0: c21bfe14 c21bfdf4 c00eb724 c00ee56c c34876c0 c355400c
c3542b78
fe00: 0000001a c21bfe2c c21bfe58 c21bfe18 c00e2edc c00eb704 000007a5
c21bfe28
fe20: c01fa888 000000fe 00000012 00000002 c3c9585b c0226e04 c32ff7a8
c3542b60
fe40: c3c9583f c01fab8c c0226db0 c21bfeb0 c21bfe5c c00ec130 c00e2dcc
c3c9585b
fe60: 000007a5 c3c95800 c0226dc4 c3e15b20 00000001 00000001 00000000
00000000
fe80: ffffffff bee45e28 c0331040 c3554200 c3554200 00000000 00000000
c21bff28
fea0: c21bff20 c21bfec0 c21bfeb4 c0084d6c c00ebf1c c21bfed8 c21bfec4
c0084f04
fec0: c0084d48 c3554200 c0225d84 c21bfef0 c21bfedc c0083d90 c0084ef0
c3554200
fee0: c032bd20 c21bff08 c21bfef4 c009b804 c0083d30 c21bff28 c21be000
c21bff1c
ff00: c21bff0c c008baec c009b79c 00000000 c21bff94 c21bff20 c009c0ec
c008bad8
ff20: c21bff20 c21bff20 c20e73a0 c032bd20 c21bff3c c0024db0 c00ee388
00000001
ff40: 00000001 00000000 00000000 ffffffff bee45e28 00000000 00000000
c21bffb0
ff60: 00000000 00091050 c21bff9c bee44db8 000923c8 bee44db8 00000016
c001cf64
ff80: c21be000 00091050 c21bffa4 c21bff98 c009c114 c009beec 00000000
c21bffa8
ffa0: c001cdc0 c009c10c bee44db8 000923c8 bee44db8 bee44dba 000923ca
0000006d
ffc0: bee44db8 000923c8 bee44db8 00000000 00090710 00000000 00091050
00000000
ffe0: 40160e70 bee44d9c 00063fc4 40160e74 60000010 bee44db8 401bd7d8
400dad9c
Backtrace:
[<c00ee560>] (strlen+0x0/0x30) from [<c00eb724>]
(kobject_get_path+0x2c/0xc0)
[<c00eb6f8>] (kobject_get_path+0x0/0xc0) from [<c00e2edc>]
(block_uevent+0x11c/) r8 = C21BFE2C r7 = 0000001A r6 = C3542B78 r5 =
C355400C
r4 = C34876C0
[<c00e2dc0>] (block_uevent+0x0/0x1f4) from [<c00ec130>]
(kobject_uevent+0x220/0)[<c00ebf10>] (kobject_uevent+0x0/0x478) from
[<c0084d6c>] (bdev_uevent+0x30/0x3)[<c0084d3c>] (bdev_uevent+0x0/0x34)
from [<c0084f04>] (kill_block_super+0x20/0x)[<c0084ee4>]
(kill_block_super+0x0/0x3c) from [<c0083d90>] (deactivate_super+0x) r5 =
C0225D84 r4 = C3554200
[<c0083d24>] (deactivate_super+0x0/0x84) from [<c009b804>]
(mntput_no_expire+0x) r5 = C032BD20 r4 = C3554200
[<c009b790>] (mntput_no_expire+0x0/0xc0) from [<c008baec>]
(path_release_on_umo) r5 = C21BE000 r4 = C21BFF28
[<c008bacc>] (path_release_on_umount+0x0/0x24) from [<c009c0ec>]
(sys_umount+0x) r4 = 00000000
[<c009bee0>] (sys_umount+0x0/0x220) from [<c009c114>]
(sys_oldumount+0x14/0x18)
[<c009c100>] (sys_oldumount+0x0/0x18) from [<c001cdc0>]

(ret_fast_syscall+0x0/0)Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5d03000)

and:

From: Mikkel Erup <mikkelerup () yahoo ! com>

BUG: unable to handle kernel NULL pointer dereference
at virtual address 00000002
printing eip:
c021570d
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in: nls_iso8859_1 nls_cp437 vfat fat
speedstep_lib i915 drm mmc_block nvram pcmcia
yenta_socket rsrc_nonstatic sdhci pcmcia_core e1000
mmc_core evdev
CPU: 0
EIP: 0060:[<c021570d>] Not tainted VLI
EFLAGS: 00010202 (2.6.16-git20 #3)
EIP is at kobject_get_path+0x2d/0xe0
eax: 00000000 ebx: 00000001 ecx: ffffffff edx:
00000000
esi: e35e9e74 edi: 00000002 ebp: 000007a5 esp:
dcea1e5c
ds: 007b es: 007b ss: 0068
Process umount (pid: 3407, threadinfo=dcea0000
task=dd334a30)
Stack: <0>c038cad3 dcea1ea0 00000008 dcea1e9c e2765200
e35e9e0c df304158 000007a5
c020bb5d e35e9e74 000000d0 dcea1ea0 de9ad85b
000007a5 dcea1ea4 c038cacb
000000fe 00000002 00000012 c020ba50 c03c8860
0000001a de9ad800 c0215d1e
Call Trace:
<c020bb5d> block_uevent+0x10d/0x210 <c020ba50>
block_uevent+0x0/0x210
<c0215d1e> kobject_uevent+0x1fe/0x520 <c0166860>
bdev_uevent+0x20/0x40
<c0166cc1> kill_block_super+0x21/0x50 <c0166f80>
deactivate_super+0x70/0xa0
<c017fecb> sys_umount+0x4b/0x280 <c010306f>
sysenter_past_esp+0x54/0x75
Code: d2 57 56 53 bb 01 00 00 00 83 ec 10 8b 74 24 24
8d b4 26 00 00 00 00 8d bc 27 00 00 00 00 8b 3e 85 ff
74 1d b9 ff ff ff ff 89 d0 <f2> ae f7 d1 49 8b 76 24 8d
2c 19 8d 5d 01 85 f6 75 e1 85 db 75

Now, can I have your permission not to do anything more tonight? Is
that okay with you, or are you going to rant about that as well?

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core