From: kernel test robot <lkp@intel.com>
To: Eddie James <eajames@linux.ibm.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
Guenter Roeck <linux@roeck-us.net>
Subject: drivers/hwmon/pmbus/ibm-cffps.c:184:60: warning: '%04X' directive output may be truncated writing between 4 and 8 bytes into a region of size 5
Date: Thu, 25 Jan 2024 11:52:41 +0800 [thread overview]
Message-ID: <202401251132.8DpJ7Stv-lkp@intel.com> (raw)
Hi Eddie,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6098d87eaf31f48153c984e2adadf14762520a87
commit: 2f8a855efe8a6faf962c53af406e5ea4791b3877 pmbus: (ibm-cffps) Add support for version 2 of the PSU
date: 4 years, 5 months ago
config: x86_64-randconfig-006-20240105 (https://download.01.org/0day-ci/archive/20240125/202401251132.8DpJ7Stv-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240125/202401251132.8DpJ7Stv-lkp@intel.com/reproduce)
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
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401251132.8DpJ7Stv-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/hwmon/pmbus/ibm-cffps.c: In function 'ibm_cffps_debugfs_op':
drivers/hwmon/pmbus/ibm-cffps.c:171:60: warning: '%02X' directive output may be truncated writing between 2 and 8 bytes into a region of size 3 [-Wformat-truncation=]
171 | snprintf(&data[i * 2], 3, "%02X", rc);
| ^~~~
drivers/hwmon/pmbus/ibm-cffps.c:171:59: note: directive argument in the range [0, 2147483647]
171 | snprintf(&data[i * 2], 3, "%02X", rc);
| ^~~~~~
drivers/hwmon/pmbus/ibm-cffps.c:171:33: note: 'snprintf' output between 3 and 9 bytes into a destination of size 3
171 | snprintf(&data[i * 2], 3, "%02X", rc);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/hwmon/pmbus/ibm-cffps.c:184:60: warning: '%04X' directive output may be truncated writing between 4 and 8 bytes into a region of size 5 [-Wformat-truncation=]
184 | snprintf(&data[i * 4], 5, "%04X", rc);
| ^~~~
drivers/hwmon/pmbus/ibm-cffps.c:184:59: note: directive argument in the range [0, 2147483647]
184 | snprintf(&data[i * 4], 5, "%04X", rc);
| ^~~~~~
drivers/hwmon/pmbus/ibm-cffps.c:184:33: note: 'snprintf' output between 5 and 9 bytes into a destination of size 5
184 | snprintf(&data[i * 4], 5, "%04X", rc);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +184 drivers/hwmon/pmbus/ibm-cffps.c
129
130 static ssize_t ibm_cffps_debugfs_op(struct file *file, char __user *buf,
131 size_t count, loff_t *ppos)
132 {
133 u8 cmd;
134 int i, rc;
135 int *idxp = file->private_data;
136 int idx = *idxp;
137 struct ibm_cffps *psu = to_psu(idxp, idx);
138 char data[I2C_SMBUS_BLOCK_MAX] = { 0 };
139
140 pmbus_set_page(psu->client, 0);
141
142 switch (idx) {
143 case CFFPS_DEBUGFS_INPUT_HISTORY:
144 return ibm_cffps_read_input_history(psu, buf, count, ppos);
145 case CFFPS_DEBUGFS_FRU:
146 cmd = CFFPS_FRU_CMD;
147 break;
148 case CFFPS_DEBUGFS_PN:
149 cmd = CFFPS_PN_CMD;
150 break;
151 case CFFPS_DEBUGFS_SN:
152 cmd = CFFPS_SN_CMD;
153 break;
154 case CFFPS_DEBUGFS_CCIN:
155 rc = i2c_smbus_read_word_swapped(psu->client, CFFPS_CCIN_CMD);
156 if (rc < 0)
157 return rc;
158
159 rc = snprintf(data, 5, "%04X", rc);
160 goto done;
161 case CFFPS_DEBUGFS_FW:
162 switch (psu->version) {
163 case cffps1:
164 for (i = 0; i < CFFPS1_FW_NUM_BYTES; ++i) {
165 rc = i2c_smbus_read_byte_data(psu->client,
166 CFFPS_FW_CMD +
167 i);
168 if (rc < 0)
169 return rc;
170
171 snprintf(&data[i * 2], 3, "%02X", rc);
172 }
173
174 rc = i * 2;
175 break;
176 case cffps2:
177 for (i = 0; i < CFFPS2_FW_NUM_WORDS; ++i) {
178 rc = i2c_smbus_read_word_data(psu->client,
179 CFFPS_FW_CMD +
180 i);
181 if (rc < 0)
182 return rc;
183
> 184 snprintf(&data[i * 4], 5, "%04X", rc);
185 }
186
187 rc = i * 4;
188 break;
189 default:
190 return -EOPNOTSUPP;
191 }
192 goto done;
193 default:
194 return -EINVAL;
195 }
196
197 rc = i2c_smbus_read_block_data(psu->client, cmd, data);
198 if (rc < 0)
199 return rc;
200
201 done:
202 data[rc] = '\n';
203 rc += 2;
204
205 return simple_read_from_buffer(buf, count, ppos, data, rc);
206 }
207
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2024-01-25 3:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-25 3:52 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-12-20 13:54 drivers/hwmon/pmbus/ibm-cffps.c:184:60: warning: '%04X' directive output may be truncated writing between 4 and 8 bytes into a region of size 5 kernel test robot
2024-12-20 15:21 ` Guenter Roeck
2024-12-20 16:30 ` David Laight
2024-12-20 17:03 ` Guenter Roeck
2024-12-20 17:29 ` David Laight
2024-12-20 17:56 ` Guenter Roeck
2023-12-25 21:18 kernel test robot
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=202401251132.8DpJ7Stv-lkp@intel.com \
--to=lkp@intel.com \
--cc=eajames@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=oe-kbuild-all@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.