Hi Hannes, I love your patch! Yet something to improve: [auto build test ERROR on mkp-scsi/for-next] [also build test ERROR on v5.4-rc7 next-20191112] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/scsi_dh_rdac-avoid-crash-during-rescan/20191113-021538 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=ia64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): drivers/scsi/device_handler/scsi_dh_rdac.c: In function 'check_ownership': drivers/scsi/device_handler/scsi_dh_rdac.c:437:12: error: invalid storage class for function 'initialize_controller' static int initialize_controller(struct scsi_device *sdev, ^~~~~~~~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:437:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] static int initialize_controller(struct scsi_device *sdev, ^~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:465:12: error: invalid storage class for function 'set_mode_select' static int set_mode_select(struct scsi_device *sdev, struct rdac_dh_data *h) ^~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:485:12: error: invalid storage class for function 'mode_select_handle_sense' static int mode_select_handle_sense(struct scsi_device *sdev, ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:527:13: error: invalid storage class for function 'send_mode_select' static void send_mode_select(struct work_struct *work) ^~~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:585:12: error: invalid storage class for function 'queue_mode_select' static int queue_mode_select(struct scsi_device *sdev, ^~~~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:611:12: error: invalid storage class for function 'rdac_activate' static int rdac_activate(struct scsi_device *sdev, ^~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:647:21: error: invalid storage class for function 'rdac_prep_fn' static blk_status_t rdac_prep_fn(struct scsi_device *sdev, struct request *req) ^~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:659:12: error: invalid storage class for function 'rdac_check_sense' static int rdac_check_sense(struct scsi_device *sdev, ^~~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:724:12: error: invalid storage class for function 'rdac_bus_attach' static int rdac_bus_attach(struct scsi_device *sdev) ^~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:771:13: error: invalid storage class for function 'rdac_bus_detach' static void rdac_bus_detach( struct scsi_device *sdev ) ^~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:792:13: error: initializer element is not constant .prep_fn = rdac_prep_fn, ^~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:792:13: note: (near initialization for 'rdac_dh.prep_fn') drivers/scsi/device_handler/scsi_dh_rdac.c:793:17: error: initializer element is not constant .check_sense = rdac_check_sense, ^~~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:793:17: note: (near initialization for 'rdac_dh.check_sense') drivers/scsi/device_handler/scsi_dh_rdac.c:794:12: error: initializer element is not constant .attach = rdac_bus_attach, ^~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:794:12: note: (near initialization for 'rdac_dh.attach') drivers/scsi/device_handler/scsi_dh_rdac.c:795:12: error: initializer element is not constant .detach = rdac_bus_detach, ^~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:795:12: note: (near initialization for 'rdac_dh.detach') drivers/scsi/device_handler/scsi_dh_rdac.c:796:14: error: initializer element is not constant .activate = rdac_activate, ^~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:796:14: note: (near initialization for 'rdac_dh.activate') drivers/scsi/device_handler/scsi_dh_rdac.c:799:19: error: invalid storage class for function 'rdac_init' static int __init rdac_init(void) ^~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:823:20: error: invalid storage class for function 'rdac_exit' static void __exit rdac_exit(void) ^~~~~~~~~ In file included from drivers/scsi/device_handler/scsi_dh_rdac.c:27:0: >> include/linux/module.h:128:42: error: invalid storage class for function '__inittest' static inline initcall_t __maybe_unused __inittest(void) \ ^ drivers/scsi/device_handler/scsi_dh_rdac.c:829:1: note: in expansion of macro 'module_init' module_init(rdac_init); ^~~~~~~~~~~ >> drivers/scsi/device_handler/scsi_dh_rdac.c:829:1: warning: 'alias' attribute ignored [-Wattributes] In file included from drivers/scsi/device_handler/scsi_dh_rdac.c:27:0: >> include/linux/module.h:134:42: error: invalid storage class for function '__exittest' static inline exitcall_t __maybe_unused __exittest(void) \ ^ drivers/scsi/device_handler/scsi_dh_rdac.c:830:1: note: in expansion of macro 'module_exit' module_exit(rdac_exit); ^~~~~~~~~~~ >> include/linux/module.h:134:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] static inline exitcall_t __maybe_unused __exittest(void) \ ^ drivers/scsi/device_handler/scsi_dh_rdac.c:830:1: note: in expansion of macro 'module_exit' module_exit(rdac_exit); ^~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:830:1: warning: 'alias' attribute ignored [-Wattributes] In file included from include/linux/module.h:18:0, from drivers/scsi/device_handler/scsi_dh_rdac.c:27: include/linux/moduleparam.h:24:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] static const char __UNIQUE_ID(name)[] \ ^ include/linux/module.h:159:32: note: in expansion of macro '__MODULE_INFO' #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info) ^~~~~~~~~~~~~ include/linux/module.h:222:42: note: in expansion of macro 'MODULE_INFO' #define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description) ^~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:832:1: note: in expansion of macro 'MODULE_DESCRIPTION' MODULE_DESCRIPTION("Multipath LSI/Engenio/NetApp E-Series RDAC driver"); ^~~~~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:835:1: error: expected declaration or statement at end of input MODULE_LICENSE("GPL"); ^~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c: At top level: drivers/scsi/device_handler/scsi_dh_rdac.c:237:13: warning: 'send_mode_select' used but never defined static void send_mode_select(struct work_struct *work); ^~~~~~~~~~~~~~~~ drivers/scsi/device_handler/scsi_dh_rdac.c:527:13: warning: 'send_mode_select' defined but not used [-Wunused-function] static void send_mode_select(struct work_struct *work) ^~~~~~~~~~~~~~~~ -- drivers/scsi//device_handler/scsi_dh_rdac.c: In function 'check_ownership': drivers/scsi//device_handler/scsi_dh_rdac.c:437:12: error: invalid storage class for function 'initialize_controller' static int initialize_controller(struct scsi_device *sdev, ^~~~~~~~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:437:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] static int initialize_controller(struct scsi_device *sdev, ^~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:465:12: error: invalid storage class for function 'set_mode_select' static int set_mode_select(struct scsi_device *sdev, struct rdac_dh_data *h) ^~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:485:12: error: invalid storage class for function 'mode_select_handle_sense' static int mode_select_handle_sense(struct scsi_device *sdev, ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:527:13: error: invalid storage class for function 'send_mode_select' static void send_mode_select(struct work_struct *work) ^~~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:585:12: error: invalid storage class for function 'queue_mode_select' static int queue_mode_select(struct scsi_device *sdev, ^~~~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:611:12: error: invalid storage class for function 'rdac_activate' static int rdac_activate(struct scsi_device *sdev, ^~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:647:21: error: invalid storage class for function 'rdac_prep_fn' static blk_status_t rdac_prep_fn(struct scsi_device *sdev, struct request *req) ^~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:659:12: error: invalid storage class for function 'rdac_check_sense' static int rdac_check_sense(struct scsi_device *sdev, ^~~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:724:12: error: invalid storage class for function 'rdac_bus_attach' static int rdac_bus_attach(struct scsi_device *sdev) ^~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:771:13: error: invalid storage class for function 'rdac_bus_detach' static void rdac_bus_detach( struct scsi_device *sdev ) ^~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:792:13: error: initializer element is not constant .prep_fn = rdac_prep_fn, ^~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:792:13: note: (near initialization for 'rdac_dh.prep_fn') drivers/scsi//device_handler/scsi_dh_rdac.c:793:17: error: initializer element is not constant .check_sense = rdac_check_sense, ^~~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:793:17: note: (near initialization for 'rdac_dh.check_sense') drivers/scsi//device_handler/scsi_dh_rdac.c:794:12: error: initializer element is not constant .attach = rdac_bus_attach, ^~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:794:12: note: (near initialization for 'rdac_dh.attach') drivers/scsi//device_handler/scsi_dh_rdac.c:795:12: error: initializer element is not constant .detach = rdac_bus_detach, ^~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:795:12: note: (near initialization for 'rdac_dh.detach') drivers/scsi//device_handler/scsi_dh_rdac.c:796:14: error: initializer element is not constant .activate = rdac_activate, ^~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:796:14: note: (near initialization for 'rdac_dh.activate') drivers/scsi//device_handler/scsi_dh_rdac.c:799:19: error: invalid storage class for function 'rdac_init' static int __init rdac_init(void) ^~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:823:20: error: invalid storage class for function 'rdac_exit' static void __exit rdac_exit(void) ^~~~~~~~~ In file included from drivers/scsi//device_handler/scsi_dh_rdac.c:27:0: >> include/linux/module.h:128:42: error: invalid storage class for function '__inittest' static inline initcall_t __maybe_unused __inittest(void) \ ^ drivers/scsi//device_handler/scsi_dh_rdac.c:829:1: note: in expansion of macro 'module_init' module_init(rdac_init); ^~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:829:1: warning: 'alias' attribute ignored [-Wattributes] In file included from drivers/scsi//device_handler/scsi_dh_rdac.c:27:0: >> include/linux/module.h:134:42: error: invalid storage class for function '__exittest' static inline exitcall_t __maybe_unused __exittest(void) \ ^ drivers/scsi//device_handler/scsi_dh_rdac.c:830:1: note: in expansion of macro 'module_exit' module_exit(rdac_exit); ^~~~~~~~~~~ >> include/linux/module.h:134:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] static inline exitcall_t __maybe_unused __exittest(void) \ ^ drivers/scsi//device_handler/scsi_dh_rdac.c:830:1: note: in expansion of macro 'module_exit' module_exit(rdac_exit); ^~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:830:1: warning: 'alias' attribute ignored [-Wattributes] In file included from include/linux/module.h:18:0, from drivers/scsi//device_handler/scsi_dh_rdac.c:27: include/linux/moduleparam.h:24:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] static const char __UNIQUE_ID(name)[] \ ^ include/linux/module.h:159:32: note: in expansion of macro '__MODULE_INFO' #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info) ^~~~~~~~~~~~~ include/linux/module.h:222:42: note: in expansion of macro 'MODULE_INFO' #define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description) ^~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:832:1: note: in expansion of macro 'MODULE_DESCRIPTION' MODULE_DESCRIPTION("Multipath LSI/Engenio/NetApp E-Series RDAC driver"); ^~~~~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:835:1: error: expected declaration or statement at end of input MODULE_LICENSE("GPL"); ^~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c: At top level: drivers/scsi//device_handler/scsi_dh_rdac.c:237:13: warning: 'send_mode_select' used but never defined static void send_mode_select(struct work_struct *work); ^~~~~~~~~~~~~~~~ drivers/scsi//device_handler/scsi_dh_rdac.c:527:13: warning: 'send_mode_select' defined but not used [-Wunused-function] static void send_mode_select(struct work_struct *work) ^~~~~~~~~~~~~~~~ vim +/alias +829 drivers/scsi/device_handler/scsi_dh_rdac.c fbd7ab3eb53a3b Chandra Seetharaman 2008-05-01 828 fbd7ab3eb53a3b Chandra Seetharaman 2008-05-01 @829 module_init(rdac_init); fbd7ab3eb53a3b Chandra Seetharaman 2008-05-01 830 module_exit(rdac_exit); fbd7ab3eb53a3b Chandra Seetharaman 2008-05-01 831 :::::: The code at line 829 was first introduced by commit :::::: fbd7ab3eb53a3b88fefa7873139a62e439860155 [SCSI] scsi_dh: add lsi rdac device handler :::::: TO: Chandra Seetharaman <sekharan@xxxxxxxxxx> :::::: CC: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation
Attachment:
.config.gz
Description: application/gzip