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

Kay Sievers
2008-10-29T14:49:21Z

On Wed, Oct 29, 2008 at 14:27, Folkert van Heusden
<folkert@vanheusden.com> wrote:
>> >> > 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:'

Thanks,
Kay