Re: [PATCH 1/2] gpio: shared: fix deadlock on shared proxy's parent removal

From: Linus Walleij

Date: Mon May 25 2026 - 09:32:02 EST


On Fri, May 22, 2026 at 11:13 AM Bartosz Golaszewski
<bartosz.golaszewski@xxxxxxxxxxxxxxxx> wrote:

> Commit 710abda58055 ("gpio: shared: call gpio_chip::of_xlate() if set")
> used the mutex embedded in struct gpio_shared_entry to protect the
> offset field which now can be modified after assignment. The critical
> section however is too wide and introduced a potential deadlock on the
> removal of the shared GPIO proxy's parent.
>
> Make the critical section shorter - only protect the offset when it's
> being read.
>
> While at it: mention the fact that the entry lock is now also used to
> protect against concurrent access to the offset field in the structure's
> documentation.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 710abda58055 ("gpio: shared: call gpio_chip::of_xlate() if set")
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>

Reviewed-by: Linus Walleij <linusw@xxxxxxxxxx>

Yours,
Linus Walleij