Message ID | 20240808041355.2766009-1-make24@iscas.ac.cn |
---|---|
State | Superseded |
Headers | show |
Series | pinctrl: single: fix potential NULL dereference in pcs_get_function() | expand |
On Thu, Aug 8, 2024 at 6:14 AM Ma Ke <make24@iscas.ac.cn> wrote: > pinmux_generic_get_function() can return NULL and the pointer 'function' > was dereferenced without checking against NULL. Add checking of pointer > 'function' in pcs_get_function(). > > Found by code review. > > Cc: stable@vger.kernel.org > Fixes: 571aec4df5b7 ("pinctrl: single: Use generic pinmux helpers for managing functions") > Signed-off-by: Ma Ke <make24@iscas.ac.cn> Patch applied. Yours, Linus Walleij
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index 4c6bfabb6bd7..4da3c3f422b6 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -345,6 +345,8 @@ static int pcs_get_function(struct pinctrl_dev *pctldev, unsigned pin, return -ENOTSUPP; fselector = setting->func; function = pinmux_generic_get_function(pctldev, fselector); + if (!function) + return -EINVAL; *func = function->data; if (!(*func)) { dev_err(pcs->dev, "%s could not find function%i\n",
pinmux_generic_get_function() can return NULL and the pointer 'function' was dereferenced without checking against NULL. Add checking of pointer 'function' in pcs_get_function(). Found by code review. Cc: stable@vger.kernel.org Fixes: 571aec4df5b7 ("pinctrl: single: Use generic pinmux helpers for managing functions") Signed-off-by: Ma Ke <make24@iscas.ac.cn> --- drivers/pinctrl/pinctrl-single.c | 2 ++ 1 file changed, 2 insertions(+)