]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
scsi: qla2xxx: Add more BUILD_BUG_ON() statements
authorBart Van Assche <bvanassche@acm.org>
Mon, 18 May 2020 21:17:02 +0000 (14:17 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 20 May 2020 01:43:05 +0000 (21:43 -0400)
Before fixing the endianness annotations in data structures, make the
compiler verify the size of FC protocol and firmware data structures.

Link: https://lore.kernel.org/r/20200518211712.11395-6-bvanassche@acm.org
Cc: Nilesh Javali <njavali@marvell.com>
Cc: Quinn Tran <qutran@marvell.com>
Cc: Martin Wilck <mwilck@suse.com>
Cc: Roman Bolshakov <r.bolshakov@yadro.com>
Reviewed-by: Daniel Wagner <dwagner@suse.de>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_os.c
drivers/scsi/qla2xxx/tcm_qla2xxx.c

index bc8ae0c819805c7aea24ca03b1be13ff2000ae3b..5199169c4ce04996f311e5b9e1e706d756184a78 100644 (file)
@@ -7822,13 +7822,19 @@ qla2x00_module_init(void)
 {
        int ret = 0;
 
+       BUILD_BUG_ON(sizeof(cmd_a64_entry_t) != 64);
        BUILD_BUG_ON(sizeof(cmd_entry_t) != 64);
        BUILD_BUG_ON(sizeof(cont_a64_entry_t) != 64);
        BUILD_BUG_ON(sizeof(cont_entry_t) != 64);
        BUILD_BUG_ON(sizeof(init_cb_t) != 96);
+       BUILD_BUG_ON(sizeof(mrk_entry_t) != 64);
        BUILD_BUG_ON(sizeof(ms_iocb_entry_t) != 64);
        BUILD_BUG_ON(sizeof(request_t) != 64);
+       BUILD_BUG_ON(sizeof(struct abort_entry_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct abort_iocb_entry_fx00) != 64);
+       BUILD_BUG_ON(sizeof(struct abts_entry_24xx) != 64);
        BUILD_BUG_ON(sizeof(struct access_chip_84xx) != 64);
+       BUILD_BUG_ON(sizeof(struct access_chip_rsp_84xx) != 64);
        BUILD_BUG_ON(sizeof(struct cmd_bidir) != 64);
        BUILD_BUG_ON(sizeof(struct cmd_nvme) != 64);
        BUILD_BUG_ON(sizeof(struct cmd_type_6) != 64);
@@ -7836,17 +7842,69 @@ qla2x00_module_init(void)
        BUILD_BUG_ON(sizeof(struct cmd_type_7_fx00) != 64);
        BUILD_BUG_ON(sizeof(struct cmd_type_crc_2) != 64);
        BUILD_BUG_ON(sizeof(struct ct_entry_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct ct_fdmi1_hba_attributes) != 2344);
+       BUILD_BUG_ON(sizeof(struct ct_fdmi2_hba_attributes) != 4424);
+       BUILD_BUG_ON(sizeof(struct ct_fdmi2_port_attributes) != 4164);
+       BUILD_BUG_ON(sizeof(struct ct_fdmi_hba_attr) != 260);
+       BUILD_BUG_ON(sizeof(struct ct_fdmi_port_attr) != 260);
+       BUILD_BUG_ON(sizeof(struct ct_rsp_hdr) != 16);
        BUILD_BUG_ON(sizeof(struct ctio_crc2_to_fw) != 64);
+       BUILD_BUG_ON(sizeof(struct device_reg_24xx) != 256);
+       BUILD_BUG_ON(sizeof(struct device_reg_25xxmq) != 24);
+       BUILD_BUG_ON(sizeof(struct device_reg_2xxx) != 256);
+       BUILD_BUG_ON(sizeof(struct device_reg_82xx) != 1288);
+       BUILD_BUG_ON(sizeof(struct device_reg_fx00) != 216);
        BUILD_BUG_ON(sizeof(struct els_entry_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct els_sts_entry_24xx) != 64);
        BUILD_BUG_ON(sizeof(struct fxdisc_entry_fx00) != 64);
+       BUILD_BUG_ON(sizeof(struct imm_ntfy_from_isp) != 64);
        BUILD_BUG_ON(sizeof(struct init_cb_24xx) != 128);
        BUILD_BUG_ON(sizeof(struct init_cb_81xx) != 128);
+       BUILD_BUG_ON(sizeof(struct logio_entry_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct mbx_entry) != 64);
+       BUILD_BUG_ON(sizeof(struct mid_init_cb_24xx) != 5252);
+       BUILD_BUG_ON(sizeof(struct mrk_entry_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct nvram_24xx) != 512);
+       BUILD_BUG_ON(sizeof(struct nvram_81xx) != 512);
        BUILD_BUG_ON(sizeof(struct pt_ls4_request) != 64);
+       BUILD_BUG_ON(sizeof(struct pt_ls4_rx_unsol) != 64);
+       BUILD_BUG_ON(sizeof(struct purex_entry_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct qla2100_fw_dump) != 123634);
+       BUILD_BUG_ON(sizeof(struct qla2300_fw_dump) != 136100);
+       BUILD_BUG_ON(sizeof(struct qla24xx_fw_dump) != 37976);
+       BUILD_BUG_ON(sizeof(struct qla25xx_fw_dump) != 39228);
+       BUILD_BUG_ON(sizeof(struct qla2xxx_fce_chain) != 52);
+       BUILD_BUG_ON(sizeof(struct qla2xxx_fw_dump) != 136172);
+       BUILD_BUG_ON(sizeof(struct qla2xxx_mq_chain) != 524);
+       BUILD_BUG_ON(sizeof(struct qla2xxx_mqueue_chain) != 8);
+       BUILD_BUG_ON(sizeof(struct qla2xxx_mqueue_header) != 12);
+       BUILD_BUG_ON(sizeof(struct qla2xxx_offld_chain) != 24);
+       BUILD_BUG_ON(sizeof(struct qla81xx_fw_dump) != 39420);
+       BUILD_BUG_ON(sizeof(struct qla82xx_uri_data_desc) != 28);
+       BUILD_BUG_ON(sizeof(struct qla82xx_uri_table_desc) != 32);
+       BUILD_BUG_ON(sizeof(struct qla83xx_fw_dump) != 51196);
+       BUILD_BUG_ON(sizeof(struct qla_fdt_layout) != 128);
        BUILD_BUG_ON(sizeof(struct qla_flt_header) != 8);
        BUILD_BUG_ON(sizeof(struct qla_flt_region) != 16);
+       BUILD_BUG_ON(sizeof(struct qla_npiv_entry) != 24);
+       BUILD_BUG_ON(sizeof(struct qla_npiv_header) != 16);
+       BUILD_BUG_ON(sizeof(struct rdp_rsp_payload) != 336);
        BUILD_BUG_ON(sizeof(struct sns_cmd_pkt) != 2064);
+       BUILD_BUG_ON(sizeof(struct sts_entry_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct tsk_mgmt_entry) != 64);
+       BUILD_BUG_ON(sizeof(struct tsk_mgmt_entry_fx00) != 64);
        BUILD_BUG_ON(sizeof(struct verify_chip_entry_84xx) != 64);
+       BUILD_BUG_ON(sizeof(struct verify_chip_rsp_84xx) != 52);
        BUILD_BUG_ON(sizeof(struct vf_evfp_entry_24xx) != 56);
+       BUILD_BUG_ON(sizeof(struct vp_config_entry_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct vp_ctrl_entry_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct vp_rpt_id_entry_24xx) != 64);
+       BUILD_BUG_ON(sizeof(sts21_entry_t) != 64);
+       BUILD_BUG_ON(sizeof(sts22_entry_t) != 64);
+       BUILD_BUG_ON(sizeof(sts_cont_entry_t) != 64);
+       BUILD_BUG_ON(sizeof(sts_entry_t) != 64);
+       BUILD_BUG_ON(sizeof(sw_info_t) != 32);
+       BUILD_BUG_ON(sizeof(target_id_t) != 2);
 
        /* Allocate cache for SRBs. */
        srb_cachep = kmem_cache_create("qla2xxx_srbs", sizeof(srb_t), 0,
index bf00ae16b48732ab4dbfd808406508174203507b..68183a96a417bdeb4fcdc8020bda5de39f9a9d70 100644 (file)
@@ -1960,6 +1960,20 @@ static int __init tcm_qla2xxx_init(void)
 {
        int ret;
 
+       BUILD_BUG_ON(sizeof(struct abts_recv_from_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct abts_resp_from_24xx_fw) != 64);
+       BUILD_BUG_ON(sizeof(struct atio7_fcp_cmnd) != 32);
+       BUILD_BUG_ON(sizeof(struct atio_from_isp) != 64);
+       BUILD_BUG_ON(sizeof(struct ba_acc_le) != 12);
+       BUILD_BUG_ON(sizeof(struct ba_rjt_le) != 4);
+       BUILD_BUG_ON(sizeof(struct ctio7_from_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct ctio7_to_24xx) != 64);
+       BUILD_BUG_ON(sizeof(struct ctio_crc2_to_fw) != 64);
+       BUILD_BUG_ON(sizeof(struct ctio_crc_from_fw) != 64);
+       BUILD_BUG_ON(sizeof(struct ctio_to_2xxx) != 64);
+       BUILD_BUG_ON(sizeof(struct fcp_hdr_le) != 24);
+       BUILD_BUG_ON(sizeof(struct nack_to_isp) != 64);
+
        ret = tcm_qla2xxx_register_configfs();
        if (ret < 0)
                return ret;