[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z2HSdK0wwaHXEWMJ@google.com>
Date: Tue, 17 Dec 2024 11:35:16 -0800
From: William McVicker <willmcvicker@...gle.com>
To: "Rob Herring (Arm)" <robh@...nel.org>
Cc: Lee Jones <lee@...nel.org>, Arnd Bergmann <arnd@...db.de>,
Pankaj Dubey <pankaj.dubey@...sung.com>,
Heiko Stuebner <heiko@...ech.de>, Liviu Dudau <liviu.dudau@....com>,
Sudeep Holla <sudeep.holla@....com>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Peter Griffin <peter.griffin@...aro.org>,
John Madieu <john.madieu.xa@...renesas.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v2 1/3] mfd: syscon: Fix race in device_node_get_regmap()
On 12/17/2024, Rob Herring (Arm) wrote:
> It is possible for multiple, simultaneous callers calling
> device_node_get_regmap() with the same node to fail to find an entry in
> the syscon_list. There is a period of time while the first caller is
> calling of_syscon_register() that subsequent callers also fail to find
> an entry in the syscon_list and then call of_syscon_register() a second
> time.
>
> Fix this by keeping the lock held until after of_syscon_register()
> completes and adds the node to syscon_list. Convert the spinlock to a
> mutex as many of the functions called in of_syscon_register() such as
> kzalloc() and of_clk_get() may sleep.
>
> Fixes: bdb0066df96e ("mfd: syscon: Decouple syscon interface from platform devices")
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
> Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
> Signed-off-by: Rob Herring (Arm) <robh@...nel.org>
I verified this works on my Pixel 6. Thanks!
Tested-by: Will McVicker <willmcvicker@...gle.com>
Thanks,
Will
Powered by blists - more mailing lists