Re: [PATCH v12 07/11] remoteproc: mediatek: Control SCP core 1 by rproc subdevice

From: Dan Carpenter
Date: Thu May 18 2023 - 07:51:44 EST


Hi Tinghan,

kernel test robot noticed the following build warnings:

https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Tinghan-Shen/dt-bindings-remoteproc-mediatek-Improve-the-rpmsg-subnode-definition/20230517-123659
base: git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git rproc-next
patch link: https://lore.kernel.org/r/20230517043449.26352-8-tinghan.shen%40mediatek.com
patch subject: [PATCH v12 07/11] remoteproc: mediatek: Control SCP core 1 by rproc subdevice
config: csky-randconfig-m041-20230517
compiler: csky-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Reported-by: Dan Carpenter <error27@xxxxxxxxx>
| Closes: https://lore.kernel.org/r/202305181957.ZMXChgJV-lkp@xxxxxxxxx/

smatch warnings:
drivers/remoteproc/mtk_scp.c:891 scp_core_subdev_register() warn: can 'scp_c0' even be NULL?

vim +/scp_c0 +891 drivers/remoteproc/mtk_scp.c

69e1791d92cfa0 Tinghan Shen 2023-05-17 884 static int scp_core_subdev_register(struct mtk_scp *scp)
69e1791d92cfa0 Tinghan Shen 2023-05-17 885 {
69e1791d92cfa0 Tinghan Shen 2023-05-17 886 struct device *dev = scp->dev;
69e1791d92cfa0 Tinghan Shen 2023-05-17 887 struct mtk_scp_core_subdev *core_subdev;
69e1791d92cfa0 Tinghan Shen 2023-05-17 888 struct mtk_scp *scp_c0;
69e1791d92cfa0 Tinghan Shen 2023-05-17 889
69e1791d92cfa0 Tinghan Shen 2023-05-17 890 scp_c0 = list_first_entry(scp->cluster, struct mtk_scp, elem);
69e1791d92cfa0 Tinghan Shen 2023-05-17 @891 if (!scp_c0)
69e1791d92cfa0 Tinghan Shen 2023-05-17 892 return -ENODATA;

This NULL check isn't right. Use list_first_entry_or_null() if the list
can be empty.

69e1791d92cfa0 Tinghan Shen 2023-05-17 893
69e1791d92cfa0 Tinghan Shen 2023-05-17 894 core_subdev = devm_kzalloc(dev, sizeof(*core_subdev), GFP_KERNEL);
69e1791d92cfa0 Tinghan Shen 2023-05-17 895 if (!core_subdev)
69e1791d92cfa0 Tinghan Shen 2023-05-17 896 return -ENOMEM;
69e1791d92cfa0 Tinghan Shen 2023-05-17 897
69e1791d92cfa0 Tinghan Shen 2023-05-17 898 core_subdev->scp = scp;
69e1791d92cfa0 Tinghan Shen 2023-05-17 899 core_subdev->subdev.start = scp_core_subdev_start;
69e1791d92cfa0 Tinghan Shen 2023-05-17 900 core_subdev->subdev.stop = scp_core_subdev_stop;
69e1791d92cfa0 Tinghan Shen 2023-05-17 901
69e1791d92cfa0 Tinghan Shen 2023-05-17 902 scp->core_subdev = core_subdev;
69e1791d92cfa0 Tinghan Shen 2023-05-17 903 rproc_add_subdev(scp_c0->rproc, &scp->core_subdev->subdev);
69e1791d92cfa0 Tinghan Shen 2023-05-17 904
69e1791d92cfa0 Tinghan Shen 2023-05-17 905 return 0;
69e1791d92cfa0 Tinghan Shen 2023-05-17 906 }

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki