* [mkp-scsi:for-next 112/210] drivers/scsi/qla2xxx/qla_init.c:9211:8: warning: format specifies type 'unsigned long' but the argument has type 'size_t' (aka 'unsigned int')
@ 2026-08-09 7:07 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-09 7:07 UTC (permalink / raw)
To: Anil Gurumurthy
Cc: llvm, oe-kbuild-all, Martin K. Petersen (Oracle), Nilesh Javali,
Hannes Reinecke
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
head: 15b7fe6db602d0202761902d2c50bc1e8bbe6cea
commit: b6781d71a41450418a1486122978ad5bb429136b [112/210] scsi: qla2xxx: Update IO path to use 128-byte IOCBs for 29xx
config: i386-randconfig-002-20260808 (https://download.01.org/0day-ci/archive/20260809/202608091309.DUR23G15-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260809/202608091309.DUR23G15-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/202608091309.DUR23G15-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/scsi/qla2xxx/qla_init.c:9211:8: warning: format specifies type 'unsigned long' but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
9209 | "TIM section too large (0x%x bytes, ring 0x%lx bytes).\n",
| ~~~
| %zx
9210 | section_size,
9211 | req->length * qla_req_entry_size(ha));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/scsi/qla2xxx/qla_init.c:6:
In file included from drivers/scsi/qla2xxx/qla_def.h:12:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:60:
In file included from include/linux/time32.h:13:
In file included from include/linux/timex.h:67:
In file included from arch/x86/include/asm/timex.h:5:
In file included from arch/x86/include/asm/processor.h:20:
In file included from arch/x86/include/asm/page.h:14:
In file included from arch/x86/include/asm/page_32.h:18:
In file included from include/linux/string.h:383:
include/linux/fortify-string.h:530:4: warning: call to '__read_overflow2_field' declared with 'warning' attribute: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Wattribute-warning]
530 | __read_overflow2_field(q_size_field, size);
| ^
2 warnings generated.
vim +9211 drivers/scsi/qla2xxx/qla_init.c
c3930ec119cb91 Manish Rangankar 2026-07-23 9182
c3930ec119cb91 Manish Rangankar 2026-07-23 9183 static int qla29xx_process_rd_image(struct scsi_qla_host *vha,
c3930ec119cb91 Manish Rangankar 2026-07-23 9184 struct fcop_header *header,
c3930ec119cb91 Manish Rangankar 2026-07-23 9185 __be32 *fwcode, int section,
c3930ec119cb91 Manish Rangankar 2026-07-23 9186 uint32_t risc_addr, uint32_t section_size)
c3930ec119cb91 Manish Rangankar 2026-07-23 9187 {
c3930ec119cb91 Manish Rangankar 2026-07-23 9188 int rval = QLA_SUCCESS;
c3930ec119cb91 Manish Rangankar 2026-07-23 9189 uint32_t *dcode = NULL;
c3930ec119cb91 Manish Rangankar 2026-07-23 9190 struct qla_hw_data *ha = vha->hw;
c3930ec119cb91 Manish Rangankar 2026-07-23 9191 struct req_que *req = ha->req_q_map[0];
c3930ec119cb91 Manish Rangankar 2026-07-23 9192 int num_segments = 0, segment = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9193 int chunks_per_segment = 0, chunk = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9194 int is_first_chunk = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9195 int is_last_chunk = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9196 int is_first_segment = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9197 int is_last_segment = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9198 int opt = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9199 uint32_t size = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9200 uint32_t size_remainder = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9201 uint32_t seg_size_remainder = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9202 int i = 0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9203
c3930ec119cb91 Manish Rangankar 2026-07-23 9204 dcode = (uint32_t *)req->ring;
c3930ec119cb91 Manish Rangankar 2026-07-23 9205
c3930ec119cb91 Manish Rangankar 2026-07-23 9206 if (section == TIM) {
c3930ec119cb91 Manish Rangankar 2026-07-23 9207 if (section_size > req->length * qla_req_entry_size(ha)) {
c3930ec119cb91 Manish Rangankar 2026-07-23 9208 ql_log(ql_log_fatal, vha, 0x0098,
c3930ec119cb91 Manish Rangankar 2026-07-23 9209 "TIM section too large (0x%x bytes, ring 0x%lx bytes).\n",
c3930ec119cb91 Manish Rangankar 2026-07-23 9210 section_size,
c3930ec119cb91 Manish Rangankar 2026-07-23 @9211 req->length * qla_req_entry_size(ha));
c3930ec119cb91 Manish Rangankar 2026-07-23 9212 return QLA_FUNCTION_FAILED;
c3930ec119cb91 Manish Rangankar 2026-07-23 9213 }
c3930ec119cb91 Manish Rangankar 2026-07-23 9214
c3930ec119cb91 Manish Rangankar 2026-07-23 9215 opt = BIT_15 | BIT_2 | BIT_1 | BIT_0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9216 for (i = 0; i < (section_size >> 2); i++)
c3930ec119cb91 Manish Rangankar 2026-07-23 9217 dcode[i] = swab32((__force u32)fwcode[i]);
c3930ec119cb91 Manish Rangankar 2026-07-23 9218
c3930ec119cb91 Manish Rangankar 2026-07-23 9219 ql_dbg(ql_dbg_init, vha, 0x0098,
c3930ec119cb91 Manish Rangankar 2026-07-23 9220 "TIM : process_rd_image [opt 0x%x]\n", opt);
c3930ec119cb91 Manish Rangankar 2026-07-23 9221 rval = qla2x00_load_ram(vha, req->dma, risc_addr,
c3930ec119cb91 Manish Rangankar 2026-07-23 9222 section_size >> 2, opt);
c3930ec119cb91 Manish Rangankar 2026-07-23 9223 if (rval) {
c3930ec119cb91 Manish Rangankar 2026-07-23 9224 ql_log(ql_log_fatal, vha, 0x0098,
c3930ec119cb91 Manish Rangankar 2026-07-23 9225 "-> Failed load TIM\n");
c3930ec119cb91 Manish Rangankar 2026-07-23 9226 return QLA_FUNCTION_FAILED;
c3930ec119cb91 Manish Rangankar 2026-07-23 9227 }
c3930ec119cb91 Manish Rangankar 2026-07-23 9228 } else {
c3930ec119cb91 Manish Rangankar 2026-07-23 9229 size_remainder = section_size;
c3930ec119cb91 Manish Rangankar 2026-07-23 9230 num_segments += (section_size % header->segment_size == 0) ?
c3930ec119cb91 Manish Rangankar 2026-07-23 9231 (section_size / header->segment_size) :
c3930ec119cb91 Manish Rangankar 2026-07-23 9232 (section_size / header->segment_size) + 1;
c3930ec119cb91 Manish Rangankar 2026-07-23 9233 chunks_per_segment =
c3930ec119cb91 Manish Rangankar 2026-07-23 9234 (header->segment_size % CHUNK_SIZE == 0) ?
c3930ec119cb91 Manish Rangankar 2026-07-23 9235 (header->segment_size / CHUNK_SIZE) :
c3930ec119cb91 Manish Rangankar 2026-07-23 9236 (header->segment_size / CHUNK_SIZE) + 1;
c3930ec119cb91 Manish Rangankar 2026-07-23 9237
c3930ec119cb91 Manish Rangankar 2026-07-23 9238 ql_dbg(ql_dbg_init, vha, 0x0098,
c3930ec119cb91 Manish Rangankar 2026-07-23 9239 "num seg 0x%x chunk per seg 0x%x\n",
c3930ec119cb91 Manish Rangankar 2026-07-23 9240 num_segments, chunks_per_segment);
c3930ec119cb91 Manish Rangankar 2026-07-23 9241
c3930ec119cb91 Manish Rangankar 2026-07-23 9242 for (segment = 0; segment < num_segments; segment++) {
c3930ec119cb91 Manish Rangankar 2026-07-23 9243 for (chunk = 0; chunk < chunks_per_segment; chunk++) {
c3930ec119cb91 Manish Rangankar 2026-07-23 9244 is_first_chunk = (chunk == 0);
c3930ec119cb91 Manish Rangankar 2026-07-23 9245 if (chunk == 0) {
c3930ec119cb91 Manish Rangankar 2026-07-23 9246 if (size_remainder >=
c3930ec119cb91 Manish Rangankar 2026-07-23 9247 header->segment_size)
c3930ec119cb91 Manish Rangankar 2026-07-23 9248 seg_size_remainder =
c3930ec119cb91 Manish Rangankar 2026-07-23 9249 header->segment_size;
c3930ec119cb91 Manish Rangankar 2026-07-23 9250 else
c3930ec119cb91 Manish Rangankar 2026-07-23 9251 seg_size_remainder =
c3930ec119cb91 Manish Rangankar 2026-07-23 9252 size_remainder;
c3930ec119cb91 Manish Rangankar 2026-07-23 9253 }
c3930ec119cb91 Manish Rangankar 2026-07-23 9254
c3930ec119cb91 Manish Rangankar 2026-07-23 9255 is_first_segment =
c3930ec119cb91 Manish Rangankar 2026-07-23 9256 (section == ARR1 && segment == 0);
c3930ec119cb91 Manish Rangankar 2026-07-23 9257 is_last_segment =
c3930ec119cb91 Manish Rangankar 2026-07-23 9258 (section == ARR2 &&
c3930ec119cb91 Manish Rangankar 2026-07-23 9259 (segment == (num_segments - 1)));
c3930ec119cb91 Manish Rangankar 2026-07-23 9260 is_last_chunk =
c3930ec119cb91 Manish Rangankar 2026-07-23 9261 (chunk == (chunks_per_segment - 1) ||
c3930ec119cb91 Manish Rangankar 2026-07-23 9262 size_remainder <= CHUNK_SIZE);
c3930ec119cb91 Manish Rangankar 2026-07-23 9263
c3930ec119cb91 Manish Rangankar 2026-07-23 9264 if (seg_size_remainder < CHUNK_SIZE)
c3930ec119cb91 Manish Rangankar 2026-07-23 9265 size = seg_size_remainder % CHUNK_SIZE;
c3930ec119cb91 Manish Rangankar 2026-07-23 9266 else
c3930ec119cb91 Manish Rangankar 2026-07-23 9267 size = CHUNK_SIZE;
c3930ec119cb91 Manish Rangankar 2026-07-23 9268
c3930ec119cb91 Manish Rangankar 2026-07-23 9269 ql_dbg(ql_dbg_init, vha, 0x0098,
c3930ec119cb91 Manish Rangankar 2026-07-23 9270 "[%d]chunk 0x%x segment 0x%x first_segment 0x%x first_chunk 0x%x last_segment 0x%x last_chunk 0x%x\n",
c3930ec119cb91 Manish Rangankar 2026-07-23 9271 __LINE__, chunk, segment,
c3930ec119cb91 Manish Rangankar 2026-07-23 9272 is_first_segment, is_first_chunk,
c3930ec119cb91 Manish Rangankar 2026-07-23 9273 is_last_segment, is_last_chunk);
c3930ec119cb91 Manish Rangankar 2026-07-23 9274
c3930ec119cb91 Manish Rangankar 2026-07-23 9275 opt = BIT_2;
c3930ec119cb91 Manish Rangankar 2026-07-23 9276 if (is_first_chunk)
c3930ec119cb91 Manish Rangankar 2026-07-23 9277 opt |= BIT_0;
c3930ec119cb91 Manish Rangankar 2026-07-23 9278 if (is_last_chunk)
c3930ec119cb91 Manish Rangankar 2026-07-23 9279 opt |= BIT_1;
c3930ec119cb91 Manish Rangankar 2026-07-23 9280 if (is_first_segment)
c3930ec119cb91 Manish Rangankar 2026-07-23 9281 opt |= BIT_3;
c3930ec119cb91 Manish Rangankar 2026-07-23 9282 if (is_last_segment)
c3930ec119cb91 Manish Rangankar 2026-07-23 9283 opt |= BIT_4;
c3930ec119cb91 Manish Rangankar 2026-07-23 9284
c3930ec119cb91 Manish Rangankar 2026-07-23 9285 for (i = 0; i < (size >> 2); i++)
c3930ec119cb91 Manish Rangankar 2026-07-23 9286 dcode[i] =
c3930ec119cb91 Manish Rangankar 2026-07-23 9287 swab32((__force u32)fwcode[i]);
c3930ec119cb91 Manish Rangankar 2026-07-23 9288
c3930ec119cb91 Manish Rangankar 2026-07-23 9289 ql_dbg(ql_dbg_init, vha, 0x0098,
c3930ec119cb91 Manish Rangankar 2026-07-23 9290 "ARR[0x%x] : opt 0x%x\n", size, opt);
c3930ec119cb91 Manish Rangankar 2026-07-23 9291 rval = qla2x00_load_ram(vha, req->dma,
c3930ec119cb91 Manish Rangankar 2026-07-23 9292 risc_addr,
c3930ec119cb91 Manish Rangankar 2026-07-23 9293 size >> 2, opt);
c3930ec119cb91 Manish Rangankar 2026-07-23 9294 if (rval) {
c3930ec119cb91 Manish Rangankar 2026-07-23 9295 ql_log(ql_log_fatal, vha, 0x0098,
c3930ec119cb91 Manish Rangankar 2026-07-23 9296 "-> Failed load ram\n");
c3930ec119cb91 Manish Rangankar 2026-07-23 9297 return QLA_FUNCTION_FAILED;
c3930ec119cb91 Manish Rangankar 2026-07-23 9298 }
c3930ec119cb91 Manish Rangankar 2026-07-23 9299
c3930ec119cb91 Manish Rangankar 2026-07-23 9300 fwcode += size >> 2;
c3930ec119cb91 Manish Rangankar 2026-07-23 9301 size_remainder -= size;
c3930ec119cb91 Manish Rangankar 2026-07-23 9302 seg_size_remainder -= size;
c3930ec119cb91 Manish Rangankar 2026-07-23 9303 if (size_remainder == 0)
c3930ec119cb91 Manish Rangankar 2026-07-23 9304 break;
c3930ec119cb91 Manish Rangankar 2026-07-23 9305 }
c3930ec119cb91 Manish Rangankar 2026-07-23 9306 risc_addr += header->segment_size >> 2;
c3930ec119cb91 Manish Rangankar 2026-07-23 9307 }
c3930ec119cb91 Manish Rangankar 2026-07-23 9308 }
c3930ec119cb91 Manish Rangankar 2026-07-23 9309 return rval;
c3930ec119cb91 Manish Rangankar 2026-07-23 9310 }
c3930ec119cb91 Manish Rangankar 2026-07-23 9311
:::::: The code at line 9211 was first introduced by commit
:::::: c3930ec119cb916be879c017ea1e389e05dbe1aa scsi: qla2xxx: Add FC operational firmware load for 29xx
:::::: TO: Manish Rangankar <mrangankar@marvell.com>
:::::: CC: Martin K. Petersen (Oracle) <mkp@kernel.org>
--
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-08-09 7:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-09 7:07 [mkp-scsi:for-next 112/210] drivers/scsi/qla2xxx/qla_init.c:9211:8: warning: format specifies type 'unsigned long' but the argument has type 'size_t' (aka 'unsigned int') kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox