scsi: bfa: remove VLA
authorStephen Kitt <steve@sk2.org>
Thu, 8 Mar 2018 21:38:41 +0000 (22:38 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 15 Mar 2018 04:35:43 +0000 (00:35 -0400)
In preparation to enabling -Wvla, remove VLAs and replace them with
fixed-length arrays instead.

bfad_bsg.c uses a variable-length array declaration to measure the
size of a putative array; this can be replaced by the product of the
size of an element and the number of elements, avoiding the VLA
altogether.

This was prompted by https://lkml.org/lkml/2018/3/7/621

Signed-off-by: Stephen Kitt <steve@sk2.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/bfa/bfad_bsg.c

index 3976e787ba6422dd4e4c7793440cc47901872210..7c884f881180959e04947211f4994469a2a9538a 100644 (file)
@@ -891,7 +891,7 @@ bfad_iocmd_fabric_get_lports(struct bfad_s *bfad, void *cmd,
 
        if (bfad_chk_iocmd_sz(payload_len,
                sizeof(struct bfa_bsg_fabric_get_lports_s),
-               sizeof(wwn_t[iocmd->nports])) != BFA_STATUS_OK) {
+               sizeof(wwn_t) * iocmd->nports) != BFA_STATUS_OK) {
                iocmd->status = BFA_STATUS_VERSION_FAIL;
                goto out;
        }