On Sun, Apr 05, 2020 at 04:13:39PM -0700, Bart Van Assche wrote: > This patch fixes the following Coverity complaint without changing any > functionality: > > CID 337793 (#1 of 1): Wrong size argument (SIZEOF_MISMATCH) > suspicious_sizeof: Passing argument ha->fcp_prio_cfg of type > struct qla_fcp_prio_cfg * and argument 32768UL to function memset is > suspicious because a multiple of sizeof (struct qla_fcp_prio_cfg) /*48*/ > is expected. > > memset(ha->fcp_prio_cfg, 0, FCP_PRIO_CFG_SIZE); > > --- > drivers/scsi/qla2xxx/qla_fw.h | 3 ++- > drivers/scsi/qla2xxx/qla_os.c | 1 + > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/scsi/qla2xxx/qla_fw.h b/drivers/scsi/qla2xxx/qla_fw.h > index f9bad5bd7198..647e67c6ba5e 100644 > --- a/drivers/scsi/qla2xxx/qla_fw.h > +++ b/drivers/scsi/qla2xxx/qla_fw.h > @@ -2217,8 +2217,9 @@ struct qla_fcp_prio_cfg { > #define FCP_PRIO_ATTR_PERSIST 0x2 > uint8_t reserved; /* Reserved for future use */ > #define FCP_PRIO_CFG_HDR_SIZE 0x10 > - struct qla_fcp_prio_entry entry[1]; /* fcp priority entries */ > + struct qla_fcp_prio_entry entry[1023]; /* fcp priority entries */ > #define FCP_PRIO_CFG_ENTRY_SIZE 0x20 > + uint8_t reserved2[16]; > }; > > #define FCP_PRIO_CFG_SIZE (32*1024) /* fcp prio data per port*/ Hi Bart, A new constant may be introduced to define size of qla_fcp_prio_entry. That would let to drop the magic 32 number here and allow to add one more BUILD_BUG_ON for sizeof(struct qla_fcp_prio_entry). Besides that, Reviewed-by: Roman Bolshakov <r.bolshakov@xxxxxxxxx> > diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c > index d9072ea7c42b..784f3e553f15 100644 > --- a/drivers/scsi/qla2xxx/qla_os.c > +++ b/drivers/scsi/qla2xxx/qla_os.c > @@ -7840,6 +7840,7 @@ qla2x00_module_init(void) > BUILD_BUG_ON(sizeof(struct vf_evfp_entry_24xx) != 56); > BUILD_BUG_ON(sizeof(struct qla_flt_region) != 16); > BUILD_BUG_ON(sizeof(struct qla_flt_header) != 8); > + BUILD_BUG_ON(sizeof(struct qla_fcp_prio_cfg) != FCP_PRIO_CFG_SIZE); > > /* Allocate cache for SRBs. */ > srb_cachep = kmem_cache_create("qla2xxx_srbs", sizeof(srb_t), 0, Thanks, Roman