Hi Mike, I love your patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on jejb-scsi/for-next groeck-staging/hwmon-next linus/master v6.1-rc8 next-20221208] [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/Mike-Christie/scsi-Add-struct-for-args-to-execution-functions/20221209-141751 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next patch link: https://lore.kernel.org/r/20221209061325.705999-6-michael.christie%40oracle.com patch subject: [PATCH v2 05/15] scsi: scsi_dh: Convert to scsi_execute_args config: powerpc-pseries_defconfig compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 6e4cea55f0d1104408b26ac574566a0e4de48036) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install powerpc cross compiling tool for clang build # apt-get install binutils-powerpc-linux-gnu # https://github.com/intel-lab-lkp/linux/commit/ffdc00dd8a793937de0c817ac52ad58d9f7a36a4 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Mike-Christie/scsi-Add-struct-for-args-to-execution-functions/20221209-141751 git checkout ffdc00dd8a793937de0c817ac52ad58d9f7a36a4 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/scsi/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): >> drivers/scsi/device_handler/scsi_dh_rdac.c:561:6: error: call to '__compiletime_assert_288' declared with 'error' attribute: BUILD_BUG_ON failed: exec_args.sense && exec_args.sense_len != SCSI_SENSE_BUFFERSIZE if (scsi_execute_args(sdev, cdb, opf, &h->ctlr->mode_select, data_size, ^ include/scsi/scsi_device.h:475:2: note: expanded from macro 'scsi_execute_args' BUILD_BUG_ON(args.sense && \ ^ include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON' BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) ^ include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:345:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:338:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ :9:1: note: expanded from here __compiletime_assert_288 ^ 1 error generated. vim +561 drivers/scsi/device_handler/scsi_dh_rdac.c 526 527 static void send_mode_select(struct work_struct *work) 528 { 529 struct rdac_controller *ctlr = 530 container_of(work, struct rdac_controller, ms_work); 531 struct scsi_device *sdev = ctlr->ms_sdev; 532 struct rdac_dh_data *h = sdev->handler_data; 533 int err = SCSI_DH_OK, retry_cnt = RDAC_RETRY_COUNT; 534 struct rdac_queue_data *tmp, *qdata; 535 LIST_HEAD(list); 536 unsigned char cdb[MAX_COMMAND_SIZE]; 537 struct scsi_sense_hdr sshdr; 538 unsigned int data_size; 539 blk_opf_t opf = REQ_OP_DRV_OUT | REQ_FAILFAST_DEV | 540 REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER; 541 const struct scsi_exec_args exec_args = { 542 .sshdr = &sshdr, 543 }; 544 545 spin_lock(&ctlr->ms_lock); 546 list_splice_init(&ctlr->ms_head, &list); 547 ctlr->ms_queued = 0; 548 ctlr->ms_sdev = NULL; 549 spin_unlock(&ctlr->ms_lock); 550 551 retry: 552 memset(cdb, 0, sizeof(cdb)); 553 554 data_size = rdac_failover_get(ctlr, &list, cdb); 555 556 RDAC_LOG(RDAC_LOG_FAILOVER, sdev, "array %s, ctlr %d, " 557 "%s MODE_SELECT command", 558 (char *) h->ctlr->array_name, h->ctlr->index, 559 (retry_cnt == RDAC_RETRY_COUNT) ? "queueing" : "retrying"); 560 > 561 if (scsi_execute_args(sdev, cdb, opf, &h->ctlr->mode_select, data_size, 562 RDAC_TIMEOUT * HZ, RDAC_RETRIES, exec_args)) { 563 err = mode_select_handle_sense(sdev, &sshdr); 564 if (err == SCSI_DH_RETRY && retry_cnt--) 565 goto retry; 566 if (err == SCSI_DH_IMM_RETRY) 567 goto retry; 568 } 569 if (err == SCSI_DH_OK) { 570 h->state = RDAC_STATE_ACTIVE; 571 RDAC_LOG(RDAC_LOG_FAILOVER, sdev, "array %s, ctlr %d, " 572 "MODE_SELECT completed", 573 (char *) h->ctlr->array_name, h->ctlr->index); 574 } 575 576 list_for_each_entry_safe(qdata, tmp, &list, entry) { 577 list_del(&qdata->entry); 578 if (err == SCSI_DH_OK) 579 qdata->h->state = RDAC_STATE_ACTIVE; 580 if (qdata->callback_fn) 581 qdata->callback_fn(qdata->callback_data, err); 582 kfree(qdata); 583 } 584 return; 585 } 586 -- 0-DAY CI Kernel Test Service https://01.org/lkp