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

Folkert van Heusden
2008-10-30T10:55:56Z

> >> >> >> > 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?
>
> Might be, yes. If you just bootup, and don't run your modprobe/rmmod
> script, does the box have 2 floppy devices in /sys too?

Yes it does. One physical drive.

Folkert van Heusden

--
Multitail est un outil permettant la visualisation de fichiers de
journalisation et/ou le suivi de l'exécution de commandes. Filtrage,
mise en couleur de mot-clé, fusions, visualisation de différences
(diff-view), etc. http://www.vanheusden.com/multitail/
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com