summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Shurong <zhang_shurong@foxmail.com>2023-07-15 22:13:38 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-04-13 12:51:40 +0200
commitfba9c24c196310546f13c77ff66d0741155fa771 (patch)
tree4fcf111bb40d1123b16c96e623de927f8ccc09af
parent35a5acfa7afca0a24df26618c781fa20335a9799 (diff)
firmware: meson_sm: fix to avoid potential NULL pointer dereference
commit f2ed165619c16577c02b703a114a1f6b52026df4 upstream. of_match_device() may fail and returns a NULL pointer. Fix this by checking the return value of of_match_device. Fixes: 8cde3c2153e8 ("firmware: meson_sm: Rework driver as a proper platform driver") Signed-off-by: Zhang Shurong <zhang_shurong@foxmail.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/tencent_AA08AAA6C4F34D53ADCE962E188A879B8206@qq.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/firmware/meson/meson_sm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/firmware/meson/meson_sm.c b/drivers/firmware/meson/meson_sm.c
index 760870451205..a63ce2815d7d 100644
--- a/drivers/firmware/meson/meson_sm.c
+++ b/drivers/firmware/meson/meson_sm.c
@@ -302,6 +302,8 @@ static int __init meson_sm_probe(struct platform_device *pdev)
return -ENOMEM;
chip = of_match_device(meson_sm_ids, dev)->data;
+ if (!chip)
+ return -EINVAL;
if (chip->cmd_shmem_in_base) {
fw->sm_shmem_in_base = meson_sm_map_shmem(chip->cmd_shmem_in_base,