mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-10 20:48:12 +00:00
pinctrl: mediatek: use devm_gpiochip_add_data() for GPIO chip
The gpio_chip is allocated with device-managed memory but registered with the non-managed gpiochip_add_data(). This was harmless while the drivers were built-in, but once they can be built as modules and unbound/rmmod'd, devm frees the gpio_chip's memory while it is still registered, causing a use-after-free. Register it with devm_gpiochip_add_data() so it shares the same device-managed lifecycle, which also lets the manual gpiochip_remove() error paths go away. Fixes:a6df410d42("pinctrl: mediatek: Add Pinctrl/GPIO driver for mt8135.") Fixes:805250982b("pinctrl: mediatek: add pinctrl-paris that implements the vendor dt-bindings") Fixes:e78d57b2f8("pinctrl: mediatek: add pinctrl-moore that implements the generic pinctrl dt-bindings") Signed-off-by: Justin Yeh <justin.yeh@mediatek.com> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Signed-off-by: Linus Walleij <linusw@kernel.org>
This commit is contained in:
parent
a2fd5a9f09
commit
9c650317ba
3 changed files with 7 additions and 15 deletions
Loading…
Add table
Add a link
Reference in a new issue