scsi: lpfc: Use struct_size() helper
authorJustin Tee <justin.tee@broadcom.com>
Wed, 31 May 2023 22:33:19 +0000 (15:33 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 8 Jun 2023 01:20:21 +0000 (21:20 -0400)
Prefer struct_size() over open-coded versions of idiom:

sizeof(struct-with-flex-array) + sizeof(typeof-flex-array-elements) * count

where count is the max number of items the flexible array is supposed to
contain.

Link: https://github.com/KSPP/linux/issues/160
Co-developed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Co-developed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20230531223319.24328-1-justintee8345@gmail.com
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_ct.c

index 321806cefede44bf69c51b456e7cdfa9db340ac3..474834f313a7b5413a89d895bf94289da33218ef 100644 (file)
@@ -3748,8 +3748,7 @@ lpfc_vmid_cmd(struct lpfc_vport *vport,
                rap->obj[0].entity_id_len = vmid->vmid_len;
                memcpy(rap->obj[0].entity_id, vmid->host_vmid, vmid->vmid_len);
                size = RAPP_IDENT_OFFSET +
-                       sizeof(struct lpfc_vmid_rapp_ident_list) +
-                       sizeof(struct entity_id_object);
+                      struct_size(rap, obj, be32_to_cpu(rap->no_of_objects));
                retry = 1;
                break;
 
@@ -3768,8 +3767,7 @@ lpfc_vmid_cmd(struct lpfc_vport *vport,
                dap->obj[0].entity_id_len = vmid->vmid_len;
                memcpy(dap->obj[0].entity_id, vmid->host_vmid, vmid->vmid_len);
                size = DAPP_IDENT_OFFSET +
-                       sizeof(struct lpfc_vmid_dapp_ident_list) +
-                       sizeof(struct entity_id_object);
+                      struct_size(dap, obj, be32_to_cpu(dap->no_of_objects));
                write_lock(&vport->vmid_lock);
                vmid->flag &= ~LPFC_VMID_REGISTERED;
                write_unlock(&vport->vmid_lock);