Hi Andy,
kernel test robot noticed the following build errors:
[auto build test ERROR on ceph-client/testing] [also build test ERROR on ceph-client/for-linus cminyard-ipmi/for-next mkp-scsi/for-next jejb-scsi/for-next linus/master v6.18-rc5 next-20251112] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/lib-vsprintf-... base: https://github.com/ceph/ceph-client.git testing patch link: https://lore.kernel.org/r/20251111122735.880607-20-andriy.shevchenko%40linux... patch subject: [PATCH v2 19/21] scsi: fnic: Switch to use %ptS config: x86_64-kexec (https://download.01.org/0day-ci/archive/20251113/202511130449.Q1mCZRpT-lkp@i...) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251113/202511130449.Q1mCZRpT-lkp@i...)
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/202511130449.Q1mCZRpT-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/scsi/fnic/fnic_trace.c:234:2: error: cannot take the address of an rvalue of type 'struct timespec64'
234 | ×pec64_sub(val1, stats->stats_timestamps.last_reset_time), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/fnic/fnic_trace.c:235:2: error: cannot take the address of an rvalue of type 'struct timespec64' 235 | ×pec64_sub(val1, stats->stats_timestamps.last_read_time)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 errors generated.
vim +234 drivers/scsi/fnic/fnic_trace.c
198 199 /* 200 * fnic_get_stats_data - Copy fnic stats buffer to a memory file 201 * @fnic_dbgfs_t: pointer to debugfs fnic stats buffer 202 * 203 * Description: 204 * This routine gathers the fnic stats debugfs data from the fnic_stats struct 205 * and dumps it to stats_debug_info. 206 * 207 * Return Value: 208 * This routine returns the amount of bytes that were dumped into 209 * stats_debug_info 210 */ 211 int fnic_get_stats_data(struct stats_debug_info *debug, 212 struct fnic_stats *stats) 213 { 214 int len = 0; 215 int buf_size = debug->buf_size; 216 struct timespec64 val1, val2; 217 int i = 0; 218 219 ktime_get_real_ts64(&val1); 220 len = scnprintf(debug->debug_buffer + len, buf_size - len, 221 "------------------------------------------\n" 222 "\t\tTime\n" 223 "------------------------------------------\n"); 224 225 len += scnprintf(debug->debug_buffer + len, buf_size - len, 226 "Current time : [%ptSp]\n" 227 "Last stats reset time: [%ptSp]\n" 228 "Last stats read time: [%ptSp]\n" 229 "delta since last reset: [%ptSp]\n" 230 "delta since last read: [%ptSp]\n", 231 &val1, 232 &stats->stats_timestamps.last_reset_time, 233 &stats->stats_timestamps.last_read_time,
234 ×pec64_sub(val1, stats->stats_timestamps.last_reset_time),
235 ×pec64_sub(val1, stats->stats_timestamps.last_read_time)); 236 237 stats->stats_timestamps.last_read_time = val1; 238 239 len += scnprintf(debug->debug_buffer + len, buf_size - len, 240 "------------------------------------------\n" 241 "\t\tIO Statistics\n" 242 "------------------------------------------\n"); 243 len += scnprintf(debug->debug_buffer + len, buf_size - len, 244 "Number of Active IOs: %lld\nMaximum Active IOs: %lld\n" 245 "Number of IOs: %lld\nNumber of IO Completions: %lld\n" 246 "Number of IO Failures: %lld\nNumber of IO NOT Found: %lld\n" 247 "Number of Memory alloc Failures: %lld\n" 248 "Number of IOREQ Null: %lld\n" 249 "Number of SCSI cmd pointer Null: %lld\n" 250 251 "\nIO completion times: \n" 252 " < 10 ms : %lld\n" 253 " 10 ms - 100 ms : %lld\n" 254 " 100 ms - 500 ms : %lld\n" 255 " 500 ms - 5 sec: %lld\n" 256 " 5 sec - 10 sec: %lld\n" 257 " 10 sec - 30 sec: %lld\n" 258 " > 30 sec: %lld\n", 259 (u64)atomic64_read(&stats->io_stats.active_ios), 260 (u64)atomic64_read(&stats->io_stats.max_active_ios), 261 (u64)atomic64_read(&stats->io_stats.num_ios), 262 (u64)atomic64_read(&stats->io_stats.io_completions), 263 (u64)atomic64_read(&stats->io_stats.io_failures), 264 (u64)atomic64_read(&stats->io_stats.io_not_found), 265 (u64)atomic64_read(&stats->io_stats.alloc_failures), 266 (u64)atomic64_read(&stats->io_stats.ioreq_null), 267 (u64)atomic64_read(&stats->io_stats.sc_null), 268 (u64)atomic64_read(&stats->io_stats.io_btw_0_to_10_msec), 269 (u64)atomic64_read(&stats->io_stats.io_btw_10_to_100_msec), 270 (u64)atomic64_read(&stats->io_stats.io_btw_100_to_500_msec), 271 (u64)atomic64_read(&stats->io_stats.io_btw_500_to_5000_msec), 272 (u64)atomic64_read(&stats->io_stats.io_btw_5000_to_10000_msec), 273 (u64)atomic64_read(&stats->io_stats.io_btw_10000_to_30000_msec), 274 (u64)atomic64_read(&stats->io_stats.io_greater_than_30000_msec)); 275 276 len += scnprintf(debug->debug_buffer + len, buf_size - len, 277 "------------------------------------------\n" 278 "\t\tIO Queues and cumulative IOs\n" 279 "------------------------------------------\n"); 280 281 for (i = 0; i < FNIC_MQ_MAX_QUEUES; i++) { 282 len += scnprintf(debug->debug_buffer + len, buf_size - len, 283 "Q:%d -> %lld\n", i, (u64)atomic64_read(&stats->io_stats.ios[i])); 284 } 285 286 len += scnprintf(debug->debug_buffer + len, buf_size - len, 287 "\nCurrent Max IO time : %lld\n", 288 (u64)atomic64_read(&stats->io_stats.current_max_io_time)); 289 290 len += scnprintf(debug->debug_buffer + len, buf_size - len, 291 "\n------------------------------------------\n" 292 "\t\tAbort Statistics\n" 293 "------------------------------------------\n"); 294 295 len += scnprintf(debug->debug_buffer + len, buf_size - len, 296 "Number of Aborts: %lld\n" 297 "Number of Abort Failures: %lld\n" 298 "Number of Abort Driver Timeouts: %lld\n" 299 "Number of Abort FW Timeouts: %lld\n" 300 "Number of Abort IO NOT Found: %lld\n" 301 302 "Abort issued times: \n" 303 " < 6 sec : %lld\n" 304 " 6 sec - 20 sec : %lld\n" 305 " 20 sec - 30 sec : %lld\n" 306 " 30 sec - 40 sec : %lld\n" 307 " 40 sec - 50 sec : %lld\n" 308 " 50 sec - 60 sec : %lld\n" 309 " > 60 sec: %lld\n", 310 311 (u64)atomic64_read(&stats->abts_stats.aborts), 312 (u64)atomic64_read(&stats->abts_stats.abort_failures), 313 (u64)atomic64_read(&stats->abts_stats.abort_drv_timeouts), 314 (u64)atomic64_read(&stats->abts_stats.abort_fw_timeouts), 315 (u64)atomic64_read(&stats->abts_stats.abort_io_not_found), 316 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_0_to_6_sec), 317 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_6_to_20_sec), 318 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_20_to_30_sec), 319 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_30_to_40_sec), 320 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_40_to_50_sec), 321 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_50_to_60_sec), 322 (u64)atomic64_read(&stats->abts_stats.abort_issued_greater_than_60_sec)); 323 324 len += scnprintf(debug->debug_buffer + len, buf_size - len, 325 "\n------------------------------------------\n" 326 "\t\tTerminate Statistics\n" 327 "------------------------------------------\n"); 328 329 len += scnprintf(debug->debug_buffer + len, buf_size - len, 330 "Number of Terminates: %lld\n" 331 "Maximum Terminates: %lld\n" 332 "Number of Terminate Driver Timeouts: %lld\n" 333 "Number of Terminate FW Timeouts: %lld\n" 334 "Number of Terminate IO NOT Found: %lld\n" 335 "Number of Terminate Failures: %lld\n", 336 (u64)atomic64_read(&stats->term_stats.terminates), 337 (u64)atomic64_read(&stats->term_stats.max_terminates), 338 (u64)atomic64_read(&stats->term_stats.terminate_drv_timeouts), 339 (u64)atomic64_read(&stats->term_stats.terminate_fw_timeouts), 340 (u64)atomic64_read(&stats->term_stats.terminate_io_not_found), 341 (u64)atomic64_read(&stats->term_stats.terminate_failures)); 342 343 len += scnprintf(debug->debug_buffer + len, buf_size - len, 344 "\n------------------------------------------\n" 345 "\t\tReset Statistics\n" 346 "------------------------------------------\n"); 347 348 len += scnprintf(debug->debug_buffer + len, buf_size - len, 349 "Number of Device Resets: %lld\n" 350 "Number of Device Reset Failures: %lld\n" 351 "Number of Device Reset Aborts: %lld\n" 352 "Number of Device Reset Timeouts: %lld\n" 353 "Number of Device Reset Terminates: %lld\n" 354 "Number of FW Resets: %lld\n" 355 "Number of FW Reset Completions: %lld\n" 356 "Number of FW Reset Failures: %lld\n" 357 "Number of Fnic Reset: %lld\n" 358 "Number of Fnic Reset Completions: %lld\n" 359 "Number of Fnic Reset Failures: %lld\n", 360 (u64)atomic64_read(&stats->reset_stats.device_resets), 361 (u64)atomic64_read(&stats->reset_stats.device_reset_failures), 362 (u64)atomic64_read(&stats->reset_stats.device_reset_aborts), 363 (u64)atomic64_read(&stats->reset_stats.device_reset_timeouts), 364 (u64)atomic64_read( 365 &stats->reset_stats.device_reset_terminates), 366 (u64)atomic64_read(&stats->reset_stats.fw_resets), 367 (u64)atomic64_read(&stats->reset_stats.fw_reset_completions), 368 (u64)atomic64_read(&stats->reset_stats.fw_reset_failures), 369 (u64)atomic64_read(&stats->reset_stats.fnic_resets), 370 (u64)atomic64_read( 371 &stats->reset_stats.fnic_reset_completions), 372 (u64)atomic64_read(&stats->reset_stats.fnic_reset_failures)); 373 374 len += scnprintf(debug->debug_buffer + len, buf_size - len, 375 "\n------------------------------------------\n" 376 "\t\tFirmware Statistics\n" 377 "------------------------------------------\n"); 378 379 len += scnprintf(debug->debug_buffer + len, buf_size - len, 380 "Number of Active FW Requests %lld\n" 381 "Maximum FW Requests: %lld\n" 382 "Number of FW out of resources: %lld\n" 383 "Number of FW IO errors: %lld\n", 384 (u64)atomic64_read(&stats->fw_stats.active_fw_reqs), 385 (u64)atomic64_read(&stats->fw_stats.max_fw_reqs), 386 (u64)atomic64_read(&stats->fw_stats.fw_out_of_resources), 387 (u64)atomic64_read(&stats->fw_stats.io_fw_errs)); 388 389 len += scnprintf(debug->debug_buffer + len, buf_size - len, 390 "\n------------------------------------------\n" 391 "\t\tVlan Discovery Statistics\n" 392 "------------------------------------------\n"); 393 394 len += scnprintf(debug->debug_buffer + len, buf_size - len, 395 "Number of Vlan Discovery Requests Sent %lld\n" 396 "Vlan Response Received with no FCF VLAN ID: %lld\n" 397 "No solicitations recvd after vlan set, expiry count: %lld\n" 398 "Flogi rejects count: %lld\n", 399 (u64)atomic64_read(&stats->vlan_stats.vlan_disc_reqs), 400 (u64)atomic64_read(&stats->vlan_stats.resp_withno_vlanID), 401 (u64)atomic64_read(&stats->vlan_stats.sol_expiry_count), 402 (u64)atomic64_read(&stats->vlan_stats.flogi_rejects)); 403 404 len += scnprintf(debug->debug_buffer + len, buf_size - len, 405 "\n------------------------------------------\n" 406 "\t\tOther Important Statistics\n" 407 "------------------------------------------\n"); 408 409 jiffies_to_timespec64(stats->misc_stats.last_isr_time, &val1); 410 jiffies_to_timespec64(stats->misc_stats.last_ack_time, &val2); 411 412 len += scnprintf(debug->debug_buffer + len, buf_size - len, 413 "Last ISR time: %llu (%ptSp)\n" 414 "Last ACK time: %llu (%ptSp)\n" 415 "Max ISR jiffies: %llu\n" 416 "Max ISR time (ms) (0 denotes < 1 ms): %llu\n" 417 "Corr. work done: %llu\n" 418 "Number of ISRs: %lld\n" 419 "Maximum CQ Entries: %lld\n" 420 "Number of ACK index out of range: %lld\n" 421 "Number of data count mismatch: %lld\n" 422 "Number of FCPIO Timeouts: %lld\n" 423 "Number of FCPIO Aborted: %lld\n" 424 "Number of SGL Invalid: %lld\n" 425 "Number of Copy WQ Alloc Failures for ABTs: %lld\n" 426 "Number of Copy WQ Alloc Failures for Device Reset: %lld\n" 427 "Number of Copy WQ Alloc Failures for IOs: %lld\n" 428 "Number of no icmnd itmf Completions: %lld\n" 429 "Number of Check Conditions encountered: %lld\n" 430 "Number of QUEUE Fulls: %lld\n" 431 "Number of rport not ready: %lld\n" 432 "Number of receive frame errors: %lld\n" 433 "Port speed (in Mbps): %lld\n", 434 (u64)stats->misc_stats.last_isr_time, 435 &val1, 436 (u64)stats->misc_stats.last_ack_time, 437 &val2, 438 (u64)atomic64_read(&stats->misc_stats.max_isr_jiffies), 439 (u64)atomic64_read(&stats->misc_stats.max_isr_time_ms), 440 (u64)atomic64_read(&stats->misc_stats.corr_work_done), 441 (u64)atomic64_read(&stats->misc_stats.isr_count), 442 (u64)atomic64_read(&stats->misc_stats.max_cq_entries), 443 (u64)atomic64_read(&stats->misc_stats.ack_index_out_of_range), 444 (u64)atomic64_read(&stats->misc_stats.data_count_mismatch), 445 (u64)atomic64_read(&stats->misc_stats.fcpio_timeout), 446 (u64)atomic64_read(&stats->misc_stats.fcpio_aborted), 447 (u64)atomic64_read(&stats->misc_stats.sgl_invalid), 448 (u64)atomic64_read( 449 &stats->misc_stats.abts_cpwq_alloc_failures), 450 (u64)atomic64_read( 451 &stats->misc_stats.devrst_cpwq_alloc_failures), 452 (u64)atomic64_read(&stats->misc_stats.io_cpwq_alloc_failures), 453 (u64)atomic64_read(&stats->misc_stats.no_icmnd_itmf_cmpls), 454 (u64)atomic64_read(&stats->misc_stats.check_condition), 455 (u64)atomic64_read(&stats->misc_stats.queue_fulls), 456 (u64)atomic64_read(&stats->misc_stats.tport_not_ready), 457 (u64)atomic64_read(&stats->misc_stats.frame_errors), 458 (u64)atomic64_read(&stats->misc_stats.port_speed_in_mbps)); 459 460 return len; 461
linaro-mm-sig@lists.linaro.org