lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACxGe6skTZDe40eJN06BDapfKuN-KzMqgbEWNyLiTeXTt5dw5g@mail.gmail.com>
Date:	Wed, 3 Dec 2014 15:41:16 +0000
From:	Grant Likely <grant.likely@...retlab.ca>
To:	Jean-Michel Hautbois <jean-michel.hautbois@...alys.com>
Cc:	linux-next <linux-next@...r.kernel.org>,
	linux-kernel <linux-kernel@...r.kernel.org>,
	Fabio Estevam <fabio.estevam@...escale.com>
Subject: Re: DT parsing : duplicate name error

On Wed, Dec 3, 2014 at 3:23 PM, Jean-Michel Hautbois
<jean-michel.hautbois@...alys.com> wrote:
> 2014-12-03 16:22 GMT+01:00 Grant Likely <grant.likely@...retlab.ca>:
>> On Wed, Dec 3, 2014 at 1:27 PM, Jean-Michel Hautbois
>> <jean-michel.hautbois@...alys.com> wrote:
>>> Hi,
>>>
>>> I am using linux-next on a i.MX6 board, and it seems that there is a
>>> regression probably in DT parsing.
>>
>> Are you able to bisect down to the offending commit?
>
> I am trying to do it, but my computer is slow, so it takes a loooooot
> of time... so in the mean time I ask the ML in case this would be
> obvious to someone :).
>
> Thanks,
> JM

>From a quick reading of the backlog, for some reason the new device is
getting assigned NULL as the device name in led_classdev_register().
Probably because led_cdev->name is set to NULL. The leds are getting
bound to the LED driver in gpio_led_probe() which is the non-DT path
for creating LED devices. That would mean there is pdata attached to
the LED device, but I haven't dug any farther than that. Really need
the bisect to narrow down what is going on.

g.


>
>> Thanks,
>> g.
>>
>>>
>>> Here is the DT I am using :
>>>     vbx-leds {
>>>         compatible = "gpio-leds";
>>>         pinctrl-names = "default";
>>>         pinctrl-0 = <&pinctrl_gpio_leds>;
>>>
>>>         led0-red {
>>>             gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
>>>             default-state = "off";
>>>         };
>>>         led0-green {
>>>             gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
>>>             default-state = "on";
>>>         };
>>>         led1-red {
>>>             gpios = <&gpio6 15 GPIO_ACTIVE_LOW>;
>>>             default-state = "off";
>>>         };
>>>         led1-green {
>>>             gpios = <&gpio6 16 GPIO_ACTIVE_LOW>;
>>>             default-state = "on";
>>>         };
>>>     };
>>>
>>> On linux-stable v3.17 it works correctly.
>>> On linux-next I get :
>>>
>>> [    1.566876] ------------[ cut here ]------------
>>> [    1.566899] WARNING: CPU: 0 PID: 1 at fs/sysfs/dir.c:31
>>> sysfs_warn_dup+0x68/0x88()
>>> [    1.566906] sysfs: cannot create duplicate filename
>>> '/devices/soc0/vbx-leds/leds/(null)'
>>> [    1.566913] Modules linked in:
>>> [    1.566924] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
>>> 3.18.0-rc6-next-20141126+g0076d1c #1
>>> [    1.566929] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
>>> [    1.566935] Backtrace:
>>> [    1.566957] [<80013bbc>] (dump_backtrace) from [<80013f10>]
>>> (show_stack+0x20/0x24)
>>> [    1.566975]  r6:80c68954 r5:00000000 r4:00000000 r3:00000000
>>> [    1.566995] [<80013ef0>] (show_stack) from [<8079e498>]
>>> (dump_stack+0x8c/0xa4)
>>> [    1.567010] [<8079e40c>] (dump_stack) from [<8002ed10>]
>>> (warn_slowpath_common+0x8c/0xc8)
>>> [    1.567026]  r6:8019b544 r5:00000009 r4:be0d1bb0 r3:00000000
>>> [    1.567037] [<8002ec84>] (warn_slowpath_common) from [<8002ed8c>]
>>> (warn_slowpath_fmt+0x40/0x48)
>>> [    1.567055]  r8:be22f410 r7:bd931ec0 r6:bd930de0 r5:bd934100 r4:80abda98
>>> [    1.567068] [<8002ed50>] (warn_slowpath_fmt) from [<8019b544>]
>>> (sysfs_warn_dup+0x68/0x88)
>>> [    1.567078]  r3:be03efe4 r2:80abda98
>>> [    1.567085]  r4:be03e000
>>> [    1.567096] [<8019b4dc>] (sysfs_warn_dup) from [<8019b5f4>]
>>> (sysfs_create_dir_ns+0x90/0xa8)
>>> [    1.567109]  r6:bd930de0 r5:bd89bc08 r4:ffffffef
>>> [    1.567131] [<8019b564>] (sysfs_create_dir_ns) from [<803284e8>]
>>> (kobject_add_internal+0xb4/0x33c)
>>> [    1.567144]  r6:bd931ec0 r5:00000000 r4:bd89bc08
>>> [    1.567157] [<80328434>] (kobject_add_internal) from [<80328920>]
>>> (kobject_add+0x54/0x98)
>>> [    1.567173]  r7:00000000 r6:bd931ec0 r5:00000000 r4:bd89bc08
>>> [    1.567189] [<803288d0>] (kobject_add) from [<80405098>]
>>> (device_add+0xf0/0x564)
>>> [    1.567198]  r3:be22f434 r2:00000000
>>> [    1.567212]  r6:bd89bc00 r5:be22f410 r4:bd89bc08
>>> [    1.567223] [<80404fa8>] (device_add) from [<804056c8>]
>>> (device_create_groups_vargs+0xb4/0xd0)
>>> [    1.567244]  r10:00000000 r9:00000000 r8:be22f410 r7:bd8eb170
>>> r6:bd89bc08 r5:bd89bc00
>>> [    1.567250]  r4:00000000
>>> [    1.567262] [<80405614>] (device_create_groups_vargs) from
>>> [<80405784>] (device_create_with_groups+0x30/0x38)
>>> [    1.567283]  r9:80c08d90 r8:00000000 r7:be0d1d84 r6:814d0d98
>>> r5:be22f410 r4:00000000
>>> [    1.567298] [<80405754>] (device_create_with_groups) from
>>> [<8058c7d4>] (led_classdev_register+0x54/0x198)
>>> [    1.567304]  r4:bd8eb170
>>> [    1.567316] [<8058c780>] (led_classdev_register) from [<8058d74c>]
>>> (create_gpio_led+0xfc/0x194)
>>> [    1.567330]  r6:be22f410 r5:814c5fe0 r4:bd8eb170
>>> [    1.567340] [<8058d650>] (create_gpio_led) from [<8058d8c8>]
>>> (gpio_led_probe+0xe4/0x2f8)
>>> [    1.567360]  r8:be22f400 r7:bd8eb010 r6:00000000 r5:be22f410
>>> r4:be7e4e1c r3:00000000
>>> [    1.567377] [<8058d7e4>] (gpio_led_probe) from [<8040a248>]
>>> (platform_drv_probe+0x54/0xb4)
>>> [    1.567398]  r10:00000000 r9:80c08d90 r8:80c98f58 r7:fffffdfb
>>> r6:80c98f58 r5:be22f410
>>> [    1.567404]  r4:814cd180
>>> [    1.567418] [<8040a1f4>] (platform_drv_probe) from [<804082d8>]
>>> (driver_probe_device+0x144/0x3a0)
>>> [    1.567435]  r7:00000000 r6:80cbb2c8 r5:be22f410 r4:814cd180
>>> [    1.567446] [<80408194>] (driver_probe_device) from [<8040862c>]
>>> (__driver_attach+0xa4/0xa8)
>>> [    1.567467]  r10:00000000 r9:80c08d90 r8:80cc3280 r7:00000000
>>> r6:be22f444 r5:80c98f58
>>> [    1.567473]  r4:be22f410
>>> [    1.567485] [<80408588>] (__driver_attach) from [<80406250>]
>>> (bus_for_each_dev+0x7c/0xb0)
>>> [    1.567501]  r6:80408588 r5:80c98f58 r4:00000000 r3:be216f5c
>>> [    1.567512] [<804061d4>] (bus_for_each_dev) from [<80407c88>]
>>> (driver_attach+0x28/0x30)
>>> [    1.567525]  r6:80c76ce0 r5:bd8f5600 r4:80c98f58
>>> [    1.567536] [<80407c60>] (driver_attach) from [<8040787c>]
>>> (bus_add_driver+0x164/0x230)
>>> [    1.567549] [<80407718>] (bus_add_driver) from [<80408e78>]
>>> (driver_register+0x88/0x108)
>>> [    1.567566]  r7:80be948c r6:bd931b40 r5:80c44620 r4:80c98f58
>>> [    1.567578] [<80408df0>] (driver_register) from [<8040a168>]
>>> (__platform_driver_register+0x58/0x6c)
>>> [    1.567588]  r5:80c44620 r4:80c44620
>>> [    1.567605] [<8040a110>] (__platform_driver_register) from
>>> [<80be94a4>] (gpio_led_driver_init+0x18/0x20)
>>> [    1.567619] [<80be948c>] (gpio_led_driver_init) from [<80008b1c>]
>>> (do_one_initcall+0xb8/0x208)
>>> [    1.567632] [<80008a64>] (do_one_initcall) from [<80ba0e3c>]
>>> (kernel_init_freeable+0x118/0x1e0)
>>> [    1.567653]  r10:80ba0604 r9:80c08d90 r8:80cc3280 r7:000000ca
>>> r6:80cc3280 r5:00000006
>>> [    1.567659]  r4:80c32270
>>> [    1.567673] [<80ba0d24>] (kernel_init_freeable) from [<80799b2c>]
>>> (kernel_init+0x18/0xfc)
>>> [    1.567693]  r10:00000000 r9:00000000 r8:00000000 r7:00000000
>>> r6:00000000 r5:80799b14
>>> [    1.567699]  r4:00000000
>>> [    1.567713] [<80799b14>] (kernel_init) from [<8000fb88>]
>>> (ret_from_fork+0x14/0x2c)
>>> [    1.567722]  r4:00000000 r3:00000000
>>> [    1.567751] ---[ end trace aa4c820e66f8b9bb ]---
>>> [    1.567758] ------------[ cut here ]------------
>>> [    1.567774] WARNING: CPU: 0 PID: 1 at lib/kobject.c:240
>>> kobject_add_internal+0x2b0/0x33c()
>>> [    1.567780] kobject_add_internal failed for (null) with -EEXIST,
>>> don't try to register things with the same name in the same directory.
>>> [    1.567787] Modules linked in:
>>> [    1.567796] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W
>>> 3.18.0-rc6-next-20141126+g0076d1c #1
>>> [    1.567801] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
>>> [    1.567807] Backtrace:
>>> [    1.567820] [<80013bbc>] (dump_backtrace) from [<80013f10>]
>>> (show_stack+0x20/0x24)
>>> [    1.567837]  r6:80c68954 r5:00000000 r4:00000000 r3:00000000
>>> [    1.567847] [<80013ef0>] (show_stack) from [<8079e498>]
>>> (dump_stack+0x8c/0xa4)
>>> [    1.567860] [<8079e40c>] (dump_stack) from [<8002ed10>]
>>> (warn_slowpath_common+0x8c/0xc8)
>>> [    1.567877]  r6:803286e4 r5:00000009 r4:be0d1c00 r3:00000000
>>> [    1.567887] [<8002ec84>] (warn_slowpath_common) from [<8002ed8c>]
>>> (warn_slowpath_fmt+0x40/0x48)
>>> [    1.567907]  r8:be22f410 r7:bd931ec0 r6:bd931ec0 r5:ffffffef r4:80adefb4
>>> [    1.567919] [<8002ed50>] (warn_slowpath_fmt) from [<803286e4>]
>>> (kobject_add_internal+0x2b0/0x33c)
>>> [    1.567928]  r3:807e849c r2:80adefb4
>>> [    1.567935]  r4:bd89bc08
>>> [    1.567947] [<80328434>] (kobject_add_internal) from [<80328920>]
>>> (kobject_add+0x54/0x98)
>>> [    1.567963]  r7:00000000 r6:bd931ec0 r5:00000000 r4:bd89bc08
>>> [    1.567974] [<803288d0>] (kobject_add) from [<80405098>]
>>> (device_add+0xf0/0x564)
>>> [    1.567985]  r3:be22f434 r2:00000000
>>> [    1.567997]  r6:bd89bc00 r5:be22f410 r4:bd89bc08
>>> [    1.568008] [<80404fa8>] (device_add) from [<804056c8>]
>>> (device_create_groups_vargs+0xb4/0xd0)
>>> [    1.568029]  r10:00000000 r9:00000000 r8:be22f410 r7:bd8eb170
>>> r6:bd89bc08 r5:bd89bc00
>>> [    1.568035]  r4:00000000
>>> [    1.568046] [<80405614>] (device_create_groups_vargs) from
>>> [<80405784>] (device_create_with_groups+0x30/0x38)
>>> [    1.568067]  r9:80c08d90 r8:00000000 r7:be0d1d84 r6:814d0d98
>>> r5:be22f410 r4:00000000
>>> [    1.568078] [<80405754>] (device_create_with_groups) from
>>> [<8058c7d4>] (led_classdev_register+0x54/0x198)
>>> [    1.568085]  r4:bd8eb170
>>> [    1.568096] [<8058c780>] (led_classdev_register) from [<8058d74c>]
>>> (create_gpio_led+0xfc/0x194)
>>> [    1.568109]  r6:be22f410 r5:814c5fe0 r4:bd8eb170
>>> [    1.568118] [<8058d650>] (create_gpio_led) from [<8058d8c8>]
>>> (gpio_led_probe+0xe4/0x2f8)
>>> [    1.568139]  r8:be22f400 r7:bd8eb010 r6:00000000 r5:be22f410
>>> r4:be7e4e1c r3:00000000
>>> [    1.568151] [<8058d7e4>] (gpio_led_probe) from [<8040a248>]
>>> (platform_drv_probe+0x54/0xb4)
>>> [    1.568172]  r10:00000000 r9:80c08d90 r8:80c98f58 r7:fffffdfb
>>> r6:80c98f58 r5:be22f410
>>> [    1.568236]  r4:814cd180
>>> [    1.568253] [<8040a1f4>] (platform_drv_probe) from [<804082d8>]
>>> (driver_probe_device+0x144/0x3a0)
>>> [    1.568271]  r7:00000000 r6:80cbb2c8 r5:be22f410 r4:814cd180
>>> [    1.568284] [<80408194>] (driver_probe_device) from [<8040862c>]
>>> (__driver_attach+0xa4/0xa8)
>>> [    1.568306]  r10:00000000 r9:80c08d90 r8:80cc3280 r7:00000000
>>> r6:be22f444 r5:80c98f58
>>> [    1.568312]  r4:be22f410
>>> [    1.568324] [<80408588>] (__driver_attach) from [<80406250>]
>>> (bus_for_each_dev+0x7c/0xb0)
>>> [    1.568340]  r6:80408588 r5:80c98f58 r4:00000000 r3:be216f5c
>>> [    1.568351] [<804061d4>] (bus_for_each_dev) from [<80407c88>]
>>> (driver_attach+0x28/0x30)
>>> [    1.568364]  r6:80c76ce0 r5:bd8f5600 r4:80c98f58
>>> [    1.568375] [<80407c60>] (driver_attach) from [<8040787c>]
>>> (bus_add_driver+0x164/0x230)
>>> [    1.568386] [<80407718>] (bus_add_driver) from [<80408e78>]
>>> (driver_register+0x88/0x108)
>>> [    1.568402]  r7:80be948c r6:bd931b40 r5:80c44620 r4:80c98f58
>>> [    1.568415] [<80408df0>] (driver_register) from [<8040a168>]
>>> (__platform_driver_register+0x58/0x6c)
>>> [    1.568425]  r5:80c44620 r4:80c44620
>>> [    1.568442] [<8040a110>] (__platform_driver_register) from
>>> [<80be94a4>] (gpio_led_driver_init+0x18/0x20)
>>> [    1.568454] [<80be948c>] (gpio_led_driver_init) from [<80008b1c>]
>>> (do_one_initcall+0xb8/0x208)
>>> [    1.568466] [<80008a64>] (do_one_initcall) from [<80ba0e3c>]
>>> (kernel_init_freeable+0x118/0x1e0)
>>> [    1.568487]  r10:80ba0604 r9:80c08d90 r8:80cc3280 r7:000000ca
>>> r6:80cc3280 r5:00000006
>>> [    1.568493]  r4:80c32270
>>> [    1.568505] [<80ba0d24>] (kernel_init_freeable) from [<80799b2c>]
>>> (kernel_init+0x18/0xfc)
>>> [    1.568526]  r10:00000000 r9:00000000 r8:00000000 r7:00000000
>>> r6:00000000 r5:80799b14
>>> [    1.568532]  r4:00000000
>>> [    1.568544] [<80799b14>] (kernel_init) from [<8000fb88>]
>>> (ret_from_fork+0x14/0x2c)
>>> [    1.568553]  r4:00000000 r3:00000000
>>> [    1.568558] ---[ end trace aa4c820e66f8b9bc ]---
>>>
>>> It seems Fabio (CC'ed here) experiences the same issue with another
>>> device too on i.MX53.
>>>
>>> Any idea ?
>>> Thanks,
>>> JM
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>> the body of a message to majordomo@...r.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ