]> git.ipfire.org Git - thirdparty/linux.git/commit
pinctrl: canaan: k230: Fix NULL pointer dereference when parsing devicetree
authorJiayu Du <jiayu.riscv@isrc.iscas.ac.cn>
Sun, 28 Dec 2025 15:49:47 +0000 (23:49 +0800)
committerLinus Walleij <linusw@kernel.org>
Tue, 3 Feb 2026 00:31:50 +0000 (01:31 +0100)
commitd8c128fb6c2277d95f3f6a4ce28b82c8370031f6
tree24c46617dbd05af4d1f4174b281c6b2920bebd7c
parent353353309b0f7afa407df29e455f9d15b5acc296
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>
drivers/pinctrl/pinctrl-k230.c