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-next>] [day] [month] [year] [list]
Message-ID: <20220114105620.GK18506@ediswmail.ad.cirrus.com>
Date:   Fri, 14 Jan 2022 10:56:20 +0000
From:   Charles Keepax <ckeepax@...nsource.cirrus.com>
To:     <robh@...nel.org>
CC:     <peter.chen@...nel.org>, <gregkh@...uxfoundation.org>,
        <linux-usb@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: ChipIdea USB regression

Hi guys,

My Zynq based board stopped booting today, a bisect points to this
patch:

commit 0f153a1b8193 ("usb: chipidea: Set the DT node on the child device")

It looks like it gets stuck in some sort of boot loop of doom:

48 locks held by swapper/0/1:
#0: 42a2c0d8 (&dev->mutex){....}-{3:3}, at: __driver_attach+0x12c/0x15c
#1: 42a41cd8 (&dev->mutex){....}-{3:3}, at: __device_attach+0x2c/0x164
#2: 42abdcd8 (&dev->mutex){....}-{3:3}, at: __device_attach+0x2c/0x164
#3: 42abd8d8 (&dev->mutex){....}-{3:3}, at: __device_attach+0x2c/0x164
#4: 42abd4d8 (&dev->mutex){....}-{3:3}, at: __device_attach+0x2c/0x164
#5: 42abd0d8 (&dev->mutex){....}-{3:3}, at: __device_attach+0x2c/0x164
#6: 42b00cd8 (&dev->mutex){....}-{3:3}, at: __device_attach+0x2c/0x164
#7: 42b008d8 (&dev->mutex){....}-{3:3}, at: __device_attach+0x2c/0x164
<snip>
[<40100af4>] (__irq_svc) from [<40920270>] (_raw_spin_unlock_irqrestore+0x30/0x5c)
[<40920270>] (_raw_spin_unlock_irqrestore) from [<40433238>] (klist_next+0x84/0xac)
[<40433238>] (klist_next) from [<40503a5c>] (bus_for_each_drv+0x60/0xbc)
[<40503a5c>] (bus_for_each_drv) from [<40505ea8>] (__device_attach+0xc4/0x164)
[<40505ea8>] (__device_attach) from [<405047e0>] (bus_probe_device+0x28/0x84)
[<405047e0>] (bus_probe_device) from [<405022b8>] (device_add+0x590/0x7c4)
[<405022b8>] (device_add) from [<4050835c>] (platform_device_add+0xa8/0x1f0)
[<4050835c>] (platform_device_add) from [<405f329c>] (ci_hdrc_add_device+0x3b4/0x434)
[<405f329c>] (ci_hdrc_add_device) from [<405f5f0c>] (ci_hdrc_usb2_probe+0x130/0x180)
[<405f5f0c>] (ci_hdrc_usb2_probe) from [<40507e60>] (platform_probe+0x58/0xa8)
[<40507e60>] (platform_probe) from [<4050584c>] (really_probe+0x1d8/0x418)
[<4050584c>] (really_probe) from [<40505c44>] (__driver_probe_device+0x1b8/0x1f0)
[<40505c44>] (__driver_probe_device) from [<40505ca0>] (driver_probe_device+0x24/0xa4)
[<40505ca0>] (driver_probe_device) from [<405060b0>] (__device_attach_driver+0xbc/0x110)
[<405060b0>] (__device_attach_driver) from [<40503aa4>] (bus_for_each_drv+0xa8/0xbc)
[<40503aa4>] (bus_for_each_drv) from [<40505ea8>] (__device_attach+0xc4/0x164)
[<40505ea8>] (__device_attach) from [<405047e0>] (bus_probe_device+0x28/0x84)
[<405047e0>] (bus_probe_device) from [<405022b8>] (device_add+0x590/0x7c4)
[<405022b8>] (device_add) from [<4050835c>] (platform_device_add+0xa8/0x1f0)
[<4050835c>] (platform_device_add) from [<405f329c>] (ci_hdrc_add_device+0x3b4/0x434)
[<405f329c>] (ci_hdrc_add_device) from [<405f5f0c>] (ci_hdrc_usb2_probe+0x130/0x180)
[<405f5f0c>] (ci_hdrc_usb2_probe) from [<40507e60>] (platform_probe+0x58/0xa8)
[<40507e60>] (platform_probe) from [<4050584c>] (really_probe+0x1d8/0x418)
[<4050584c>] (really_probe) from [<40505c44>] (__driver_probe_device+0x1b8/0x1f0)
[<40505c44>] (__driver_probe_device) from [<40505ca0>] (driver_probe_device+0x24/0xa4)
[<40505ca0>] (driver_probe_device) from [<405060b0>] (__device_attach_driver+0xbc/0x110)
[<405060b0>] (__device_attach_driver) from [<40503aa4>] (bus_for_each_drv+0xa8/0xbc)
[<40503aa4>] (bus_for_each_drv) from [<40505ea8>] (__device_attach+0xc4/0x164)
[<40505ea8>] (__device_attach) from [<405047e0>] (bus_probe_device+0x28/0x84)
[<405047e0>] (bus_probe_device) from [<405022b8>] (device_add+0x590/0x7c4)
[<405022b8>] (device_add) from [<4050835c>] (platform_device_add+0xa8/0x1f0)
[<4050835c>] (platform_device_add) from [<405f329c>] (ci_hdrc_add_device+0x3b4/0x434)
[<405f329c>] (ci_hdrc_add_device) from [<405f5f0c>] (ci_hdrc_usb2_probe+0x130/0x180)
[<405f5f0c>] (ci_hdrc_usb2_probe) from [<40507e60>] (platform_probe+0x58/0xa8)
[<40507e60>] (platform_probe) from [<4050584c>] (really_probe+0x1d8/0x418)
[<4050584c>] (really_probe) from [<40505c44>] (__driver_probe_device+0x1b8/0x1f0)
[<40505c44>] (__driver_probe_device) from [<40505ca0>] (driver_probe_device+0x24/0xa4)
[<40505ca0>] (driver_probe_device) from [<405060b0>] (__device_attach_driver+0xbc/0x110)
[<405060b0>] (__device_attach_driver) from [<40503aa4>] (bus_for_each_drv+0xa8/0xbc)
[<40503aa4>] (bus_for_each_drv) from [<40505ea8>] (__device_attach+0xc4/0x164)
[<40505ea8>] (__device_attach) from [<405047e0>] (bus_probe_device+0x28/0x84)
[<405047e0>] (bus_probe_device) from [<405022b8>] (device_add+0x590/0x7c4)

I will keep poking it today to see if I can figure out more of
what is actually going wrong, but if any of you guys had any
thoughts/suggestions or if you want me to provide any additional
info all of those would be greatly appreciated.

Thanks,
Charles

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ