From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: drivers/media/i2c/imx335.c:1036 imx335_enable_streams() error: buffer overflow 'link_freq_reglist' 2 <= 64
Date: Thu, 28 May 2026 04:50:46 +0800 [thread overview]
Message-ID: <202605280413.7B6AlIRw-lkp@intel.com> (raw)
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
reply other threads:[~2026-05-27 20:51 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202605280413.7B6AlIRw-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.