Re: Infinite recursion in device_reorder_to_tail() due to circular device links

From: Greg Kroah-Hartman
Date: Tue Jan 12 2021 - 13:05:04 EST


On Tue, Jan 12, 2021 at 03:32:04PM +0100, Rafael J. Wysocki wrote:
> On Mon, Jan 11, 2021 at 7:46 PM Stephan Gerhold <stephan@xxxxxxxxxxx> wrote:
> >
> > Hi,
> >
> > since 5.11-rc1 I get kernel crashes with infinite recursion in
> > device_reorder_to_tail() in some situations... It's a bit complicated to
> > explain so I want to apologize in advance for the long mail. :)
> >
> > Kernel panic - not syncing: kernel stack overflow
> > CPU: 1 PID: 33 Comm: kworker/1:1 Not tainted 5.11.0-rc3 #1
> > Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT)
> > Call trace:
> > ...
> > device_reorder_to_tail+0x4c/0xf0
> > device_reorder_to_tail+0x98/0xf0
> > device_reorder_to_tail+0x60/0xf0
> > device_reorder_to_tail+0x60/0xf0
> > device_reorder_to_tail+0x60/0xf0
> > ...
> >
> > The crash happens only in 5.11 with commit 5b6164d3465f ("driver core:
> > Reorder devices on successful probe"). It stops happening when I revert
> > this commit.
>
> Thanks for the report!
>
> Greg, please revert commit 5b6164d3465f, it clearly is not an
> improvement, at least at this point.

Now reverted, thanks.

greg k-h