diff options
| author | Jiayu Du <jiayu.riscv@isrc.iscas.ac.cn> | 2025-12-28 23:49:47 +0800 |
|---|---|---|
| committer | Linus Walleij <linusw@kernel.org> | 2026-02-03 01:31:50 +0100 |
| commit | d8c128fb6c2277d95f3f6a4ce28b82c8370031f6 (patch) | |
| tree | 24c46617dbd05af4d1f4174b281c6b2920bebd7c /tools/perf/scripts/python/stackcollapse.py | |
| parent | 353353309b0f7afa407df29e455f9d15b5acc296 (diff) | |
| download | linux-d8c128fb6c2277d95f3f6a4ce28b82c8370031f6.tar.gz linux-d8c128fb6c2277d95f3f6a4ce28b82c8370031f6.zip | |
pinctrl: canaan: k230: Fix NULL pointer dereference when parsing devicetree
When probing the k230 pinctrl driver, the kernel triggers a NULL pointer
dereference. The crash trace showed:
[ 0.732084] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000068
[ 0.740737] ...
[ 0.776296] epc : k230_pinctrl_probe+0x1be/0x4fc
In k230_pinctrl_parse_functions(), we attempt to retrieve the device
pointer via info->pctl_dev->dev, but info->pctl_dev is only initialized
after k230_pinctrl_parse_dt() completes.
At the time of DT parsing, info->pctl_dev is still NULL, leading to
the invalid dereference of info->pctl_dev->dev.
Use the already available device pointer from platform_device
instead of accessing through uninitialized pctl_dev.
Fixes: d94a32ac688f ("pinctrl: canaan: k230: Fix order of DT parse and pinctrl register")
Signed-off-by: Jiayu Du <jiayu.riscv@isrc.iscas.ac.cn>
Signed-off-by: Linus Walleij <linusw@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
