Re: [2.6.26] kobject_add_internal failed for 2:0 with -EEXIST /unable to handle kernel NULL pointer dereference insysfs_create_link

From: Folkert van Heusden
Date: Wed Oct 29 2008 - 11:26:15 EST


> >> >> > While running my http://vanheusden.com/pyk/ script (which randomly
> >> >> > inserts and removes modules) I triggered the folllowing oops in a 2.6.26
> >> >> > kernel on an IBM xSeries 260. This oops (in fact no oops at all) did not
> >> >> > get triggered in a 2.6.18 kernel on that system.
> >> >> >
> >> >> > [ 42.507375] FDC 0 is a National Semiconductor PC87306
> >> >> > [ 42.509057] kobject_add_internal failed for 2:0 with -EEXIST, don't try to register things with the same name in the same directory.
> >> >> > [ 42.509291] Pid: 5301, comm: modprobe Not tainted 2.6.26-1-amd64 #1
> >> >> > [ 42.509431]
> >> >> > [ 42.509433] Call Trace:
> >> >> > [ 42.509685] [<ffffffff8031b031>] kobject_add_internal+0x13f/0x17e
> > ...
> >> >> > [ 42.511519] [<ffffffff8027d23b>] bdi_register+0x57/0xb4
> >> >>
> >> >> Looks like bdi sees two devices with the same devnum, or didn't
> >> >> cleanup an old entry. What does: ls -l "/sys/class/bdi/" print?
> >> >
> >> > The following:
> >> > folkert@debiantesthw:~$ ls -l /sys/class/bdi/
> >> > drwxr-xr-x 3 root root 0 2008-10-28 18:32 2:0
> >> > drwxr-xr-x 3 root root 0 2008-10-28 18:32 2:1
> >>
> >> Oh, you are running the old sysfs layout without symlinks. Care to
> >> tell where the "device" link in these directories points to?
> >
> > None exist:
> > folkert@debiantesthw:~$ ls -la /sys/class/bdi/*/device
> > ls: cannot access /sys/class/bdi/*/device: No such file or directory
>
> Ah, sorry. Seems the bdi stuff never got to pass the usual parent
> device with the device registration, to let the bdi device show up at
> the right place in the device tree.
>
> Let's see what current devices on your box have the major 2:
> find /sys -name dev | xargs grep '^2:'

/sys/block/fd0/dev:2:0
/sys/block/fd1/dev:2:1

As my script does modprobe/rmmod in parallel (4 processes) maybe it is a
conflict of one process doing an modprobe of floppy while the other does
an rmmod? Or both a modprobe?


Folkert van Heusden

--
Multi tail barnamaj mowahib li mora9abat attasjilat wa nataij awamir
al 7asoub. damj, talwin, mora9abat attarchi7 wa ila akhirih.
http://www.vanheusden.com/multitail/
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/