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

From: Greg Kroah-Hartman
Date: Sun Jan 24 2021 - 03:14:59 EST


On Sat, Jan 23, 2021 at 03:37:30PM -0800, Hugh Dickins wrote:
> On Tue, 12 Jan 2021, Greg Kroah-Hartman wrote:
> > 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
>
> I think that there has been a misunderstanding here: although
> 5b6164d3465f ("driver core: Reorder devices on successful probe")
> has been reverted from linux-next (thank you), it has not yet been
> reverted from 5.11-rc, and still causing problems there (in my case,
> not the infinite recursion Stephan reported in this thread, but the
> ThinkPad rmi4 suspend failure that I reported in another thread).

It will be sent to Linus in a few hours, thanks, so should show up in
5.11-rc5. I had other patches to go along with this to send him at the
same time :)

greg k-h