[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <YemcbdZnrFevcPZI@robh.at.kernel.org>
Date: Thu, 20 Jan 2022 11:31:25 -0600
From: Rob Herring <robh@...nel.org>
To: Rob Herring <robh@...nel.org>
Cc: Charles Keepax <ckeepax@...nsource.cirrus.com>,
linux-kernel@...r.kernel.org, Peter Chen <peter.chen@....com>,
Frank Rowand <frowand.list@...il.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
devicetree@...r.kernel.org, Arnd Bergmann <arnd@...db.de>,
Tony Lindgren <tony@...mide.com>,
Peter Chen <peter.chen@...nel.org>
Subject: Re: [PATCH] of: Check 'of_node_reused' flag on of_match_device()
On Tue, 18 Jan 2022 11:34:04 -0600, Rob Herring wrote:
> Commit 0f153a1b8193 ("usb: chipidea: Set the DT node on the child
> device") caused the child device to match on the parent driver
> instead of the child's driver since the child's DT node pointer matched.
> The worst case result is a loop of the parent driver probing another
> instance and creating yet another child device eventually exhausting the
> stack. If the child driver happens to match first, then everything works
> fine.
>
> A device sharing the DT node should never do DT based driver matching,
> so let's simply check of_node_reused in of_match_device() to prevent
> that.
>
> Fixes: 0f153a1b8193 ("usb: chipidea: Set the DT node on the child device")
> Link: https://lore.kernel.org/all/20220114105620.GK18506@ediswmail.ad.cirrus.com/
> Reported-by: Charles Keepax <ckeepax@...nsource.cirrus.com>
> Cc: Frank Rowand <frowand.list@...il.com>
> Cc: Arnd Bergmann <arnd@...db.de>
> Cc: Tony Lindgren <tony@...mide.com>
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Cc: Peter Chen <peter.chen@....com>
> Tested-by: Charles Keepax <ckeepax@...nsource.cirrus.com>
> Signed-off-by: Rob Herring <robh@...nel.org>
> ---
> drivers/of/device.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Applied, thanks!
Powered by blists - more mailing lists