Re: [PATCH] scsi_dh_rdac: avoid crash during rescan

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux