From 3ea09c5c67214bea0730e99a8b563cee22f3eef0 Mon Sep 17 00:00:00 2001 From: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com> Date: Wed, 4 Jun 2025 14:41:05 +0200 Subject: [PATCH] Input: mtk-pmic-keys: Fix null pointer dereference when no compatible data In mtk_pmic_keys_probe function, the of_match_device function is called to retrieve the compatible platform device info but its return data pointer is not checked. It can lead to a null pointer deference later when accessing the data field, if of_match_device returned a null pointer. So, add a pointer check after calling of_match_device function and return an EINVAL error in null case. Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com> --- drivers/input/keyboard/mtk-pmic-keys.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/input/keyboard/mtk-pmic-keys.c b/drivers/input/keyboard/mtk-pmic-keys.c index d9449b919ab5c..b13392f7fbf5f 100644 --- a/drivers/input/keyboard/mtk-pmic-keys.c +++ b/drivers/input/keyboard/mtk-pmic-keys.c @@ -345,6 +345,9 @@ static int mtk_pmic_keys_probe(struct platform_device *pdev) const struct of_device_id *of_id = of_match_device(of_mtk_pmic_keys_match_tbl, &pdev->dev); + if (!of_id) + return -EINVAL; + keys = devm_kzalloc(&pdev->dev, sizeof(*keys), GFP_KERNEL); if (!keys) return -ENOMEM; -- GitLab