All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/media/i2c/imx335.c:1036 imx335_enable_streams() error: buffer overflow 'link_freq_reglist' 2 <= 64
@ 2026-05-27 20:50 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-05-27 20:50 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Jai Luthra <jai.luthra@ideasonboard.com>
CC: Hans Verkuil <hverkuil@kernel.org>
CC: Kieran Bingham <kieran.bingham@ideasonboard.com>
CC: Sakari Ailus <sakari.ailus@linux.intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   eb3f4b7426cfd2b79d65b7d37155480b32259a11
commit: ca042de64800a0bcc3e0866e4efaa4a657e8ddc9 media: imx335: Switch to {enable,disable}_streams
date:   7 months ago
:::::: branch date: 24 hours ago
:::::: commit date: 7 months ago
config: sparc64-randconfig-r073-20260527 (https://download.01.org/0day-ci/archive/20260528/202605280413.7B6AlIRw-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 14.3.0
smatch: v0.5.0-9185-gbcc58b9c

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: ca042de64800 ("media: imx335: Switch to {enable,disable}_streams")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202605280413.7B6AlIRw-lkp@intel.com/

smatch warnings:
drivers/media/i2c/imx335.c:1036 imx335_enable_streams() error: buffer overflow 'link_freq_reglist' 2 <= 64

vim +/link_freq_reglist +1036 drivers/media/i2c/imx335.c

cfa49ff0558a32 Umang Jain       2023-12-11  1013  
45d19b5fb9aeab Martina Krasteva 2021-05-27  1014  /**
ca042de64800a0 Jai Luthra       2025-10-30  1015   * imx335_enable_streams() - Enable sensor streams
ca042de64800a0 Jai Luthra       2025-10-30  1016   * @sd: V4L2 subdevice
ca042de64800a0 Jai Luthra       2025-10-30  1017   * @state: V4L2 subdevice state
ca042de64800a0 Jai Luthra       2025-10-30  1018   * @pad: The pad to enable
ca042de64800a0 Jai Luthra       2025-10-30  1019   * @streams_mask: Bitmask of streams to enable
45d19b5fb9aeab Martina Krasteva 2021-05-27  1020   *
45d19b5fb9aeab Martina Krasteva 2021-05-27  1021   * Return: 0 if successful, error code otherwise.
45d19b5fb9aeab Martina Krasteva 2021-05-27  1022   */
ca042de64800a0 Jai Luthra       2025-10-30  1023  static int imx335_enable_streams(struct v4l2_subdev *sd,
ca042de64800a0 Jai Luthra       2025-10-30  1024  				 struct v4l2_subdev_state *state, u32 pad,
ca042de64800a0 Jai Luthra       2025-10-30  1025  				 u64 streams_mask)
45d19b5fb9aeab Martina Krasteva 2021-05-27  1026  {
ca042de64800a0 Jai Luthra       2025-10-30  1027  	struct imx335 *imx335 = to_imx335(sd);
45d19b5fb9aeab Martina Krasteva 2021-05-27  1028  	const struct imx335_reg_list *reg_list;
45d19b5fb9aeab Martina Krasteva 2021-05-27  1029  	int ret;
45d19b5fb9aeab Martina Krasteva 2021-05-27  1030  
34af620e67550d Jai Luthra       2025-10-30  1031  	ret = pm_runtime_resume_and_get(imx335->dev);
34af620e67550d Jai Luthra       2025-10-30  1032  	if (ret < 0)
34af620e67550d Jai Luthra       2025-10-30  1033  		return ret;
34af620e67550d Jai Luthra       2025-10-30  1034  
a95253d83297f8 Umang Jain       2024-02-20  1035  	/* Setup PLL */
a95253d83297f8 Umang Jain       2024-02-20 @1036  	reg_list = &link_freq_reglist[__ffs(imx335->link_freq_bitmap)];
8f0926dba79918 Umang Jain       2024-04-14  1037  	ret = cci_multi_reg_write(imx335->cci, reg_list->regs,
8f0926dba79918 Umang Jain       2024-04-14  1038  				  reg_list->num_of_regs, NULL);
a95253d83297f8 Umang Jain       2024-02-20  1039  	if (ret) {
a95253d83297f8 Umang Jain       2024-02-20  1040  		dev_err(imx335->dev, "%s failed to set plls\n", __func__);
34af620e67550d Jai Luthra       2025-10-30  1041  		goto err_rpm_put;
a95253d83297f8 Umang Jain       2024-02-20  1042  	}
a95253d83297f8 Umang Jain       2024-02-20  1043  
45d19b5fb9aeab Martina Krasteva 2021-05-27  1044  	/* Write sensor mode registers */
45d19b5fb9aeab Martina Krasteva 2021-05-27  1045  	reg_list = &imx335->cur_mode->reg_list;
8f0926dba79918 Umang Jain       2024-04-14  1046  	ret = cci_multi_reg_write(imx335->cci, reg_list->regs,
8f0926dba79918 Umang Jain       2024-04-14  1047  				  reg_list->num_of_regs, NULL);
45d19b5fb9aeab Martina Krasteva 2021-05-27  1048  	if (ret) {
d5ca45b8b91ea4 Kieran Bingham   2023-12-11  1049  		dev_err(imx335->dev, "fail to write initial registers\n");
34af620e67550d Jai Luthra       2025-10-30  1050  		goto err_rpm_put;
45d19b5fb9aeab Martina Krasteva 2021-05-27  1051  	}
45d19b5fb9aeab Martina Krasteva 2021-05-27  1052  
8a2451bd20e6f8 Jai Luthra       2025-10-30  1053  	/* Write sensor common registers */
8a2451bd20e6f8 Jai Luthra       2025-10-30  1054  	ret = cci_multi_reg_write(imx335->cci, imx335_common_regs,
8a2451bd20e6f8 Jai Luthra       2025-10-30  1055  				  ARRAY_SIZE(imx335_common_regs), NULL);
8a2451bd20e6f8 Jai Luthra       2025-10-30  1056  	if (ret) {
8a2451bd20e6f8 Jai Luthra       2025-10-30  1057  		dev_err(imx335->dev, "fail to write initial registers\n");
8a2451bd20e6f8 Jai Luthra       2025-10-30  1058  		goto err_rpm_put;
8a2451bd20e6f8 Jai Luthra       2025-10-30  1059  	}
8a2451bd20e6f8 Jai Luthra       2025-10-30  1060  
cfa49ff0558a32 Umang Jain       2023-12-11  1061  	ret = imx335_set_framefmt(imx335);
cfa49ff0558a32 Umang Jain       2023-12-11  1062  	if (ret) {
cfa49ff0558a32 Umang Jain       2023-12-11  1063  		dev_err(imx335->dev, "%s failed to set frame format: %d\n",
cfa49ff0558a32 Umang Jain       2023-12-11  1064  			__func__, ret);
34af620e67550d Jai Luthra       2025-10-30  1065  		goto err_rpm_put;
cfa49ff0558a32 Umang Jain       2023-12-11  1066  	}
cfa49ff0558a32 Umang Jain       2023-12-11  1067  
8249d084ac9b95 Kieran Bingham   2024-04-14  1068  	/* Configure lanes */
8f0926dba79918 Umang Jain       2024-04-14  1069  	ret = cci_write(imx335->cci, IMX335_REG_LANEMODE,
8f0926dba79918 Umang Jain       2024-04-14  1070  			imx335->lane_mode, NULL);
8249d084ac9b95 Kieran Bingham   2024-04-14  1071  	if (ret)
34af620e67550d Jai Luthra       2025-10-30  1072  		goto err_rpm_put;
8249d084ac9b95 Kieran Bingham   2024-04-14  1073  
45d19b5fb9aeab Martina Krasteva 2021-05-27  1074  	/* Setup handler will write actual exposure and gain */
45d19b5fb9aeab Martina Krasteva 2021-05-27  1075  	ret =  __v4l2_ctrl_handler_setup(imx335->sd.ctrl_handler);
45d19b5fb9aeab Martina Krasteva 2021-05-27  1076  	if (ret) {
d5ca45b8b91ea4 Kieran Bingham   2023-12-11  1077  		dev_err(imx335->dev, "fail to setup handler\n");
34af620e67550d Jai Luthra       2025-10-30  1078  		goto err_rpm_put;
45d19b5fb9aeab Martina Krasteva 2021-05-27  1079  	}
45d19b5fb9aeab Martina Krasteva 2021-05-27  1080  
45d19b5fb9aeab Martina Krasteva 2021-05-27  1081  	/* Start streaming */
8f0926dba79918 Umang Jain       2024-04-14  1082  	ret = cci_write(imx335->cci, IMX335_REG_MODE_SELECT,
8f0926dba79918 Umang Jain       2024-04-14  1083  			IMX335_MODE_STREAMING, NULL);
45d19b5fb9aeab Martina Krasteva 2021-05-27  1084  	if (ret) {
d5ca45b8b91ea4 Kieran Bingham   2023-12-11  1085  		dev_err(imx335->dev, "fail to start streaming\n");
34af620e67550d Jai Luthra       2025-10-30  1086  		goto err_rpm_put;
45d19b5fb9aeab Martina Krasteva 2021-05-27  1087  	}
45d19b5fb9aeab Martina Krasteva 2021-05-27  1088  
45d19b5fb9aeab Martina Krasteva 2021-05-27  1089  	/* Initial regulator stabilization period */
45d19b5fb9aeab Martina Krasteva 2021-05-27  1090  	usleep_range(18000, 20000);
45d19b5fb9aeab Martina Krasteva 2021-05-27  1091  
45d19b5fb9aeab Martina Krasteva 2021-05-27  1092  	return 0;
34af620e67550d Jai Luthra       2025-10-30  1093  
34af620e67550d Jai Luthra       2025-10-30  1094  err_rpm_put:
34af620e67550d Jai Luthra       2025-10-30  1095  	pm_runtime_put(imx335->dev);
34af620e67550d Jai Luthra       2025-10-30  1096  
34af620e67550d Jai Luthra       2025-10-30  1097  	return ret;
45d19b5fb9aeab Martina Krasteva 2021-05-27  1098  }
45d19b5fb9aeab Martina Krasteva 2021-05-27  1099  

:::::: The code at line 1036 was first introduced by commit
:::::: a95253d83297f8c740cad822df4b5288c0c10c04 media: imx335: Support multiple link frequency

:::::: TO: Umang Jain <umang.jain@ideasonboard.com>
:::::: CC: Hans Verkuil <hverkuil-cisco@xs4all.nl>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-05-27 20:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-27 20:50 drivers/media/i2c/imx335.c:1036 imx335_enable_streams() error: buffer overflow 'link_freq_reglist' 2 <= 64 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.