diff options
| author | Justin Yeh <justin.yeh@mediatek.com> | 2026-07-23 11:58:12 +0800 |
|---|---|---|
| committer | Linus Walleij <linusw@kernel.org> | 2026-07-25 14:57:13 +0200 |
| commit | 9c650317ba553d297f3fc5f0ae40ec53d86f9dab (patch) | |
| tree | 1899c933ed4444db86716d0cddfee55615c61663 /tools/perf/scripts/python/export-to-sqlite.py | |
| parent | a2fd5a9f09587eddf4d96c7b46541359985c6ea8 (diff) | |
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: a6df410d420a ("pinctrl: mediatek: Add Pinctrl/GPIO driver for mt8135.")
Fixes: 805250982bb5 ("pinctrl: mediatek: add pinctrl-paris that implements the vendor dt-bindings")
Fixes: e78d57b2f87c ("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>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions
